이 창을 닫으 시겠습니까? 프롬프트 를 받지 않고 브라우저 창 을 닫으려면 어떻게해야합니까?
window.close();
기능을 사용할 때 프롬프트가 표시됩니다 .
이 창을 닫으 시겠습니까? 프롬프트 를 받지 않고 브라우저 창 을 닫으려면 어떻게해야합니까?
window.close();
기능을 사용할 때 프롬프트가 표시됩니다 .
답변:
window.open('', '_self', ''); window.close();
이것은 나를 위해 작동합니다.
showModalDialog
어떻게 될까요? IE10에서는 작동하지 않습니다
내 친구 ... 방법이 있지만 "해킹"은 그것을 설명하기 시작하지 않습니다. 기본적으로 IE 6 및 7의 버그를 악용해야합니다.
매번 작동합니다!
을 호출하는 대신 window.close()
다른 페이지로 리디렉션합니다.
시작 페이지 :
alert("No whammies!");
window.open("closer.htm", '_self');
다른 페이지로 이동합니다. 이것은 IE를 속여이 페이지에서 브라우저를 닫도록합니다.
마감 페이지 :
<script type="text/javascript">
window.close();
</script>
멋지죠?!
스크립트는 사용자가 연 창을 닫을 수 없습니다 . 이것은 보안 위험으로 간주됩니다. 어떤 표준도 아니지만 모든 브라우저 공급 업체는이를 따릅니다 ( Mozilla 문서 ). 일부 브라우저에서 이런 일이 발생하면 (이상적으로) 매우 빠르게 패치되는 보안 버그입니다.
이 질문에 대한 답변의 해킹은 더 이상 작동하지 않으며 누군가가 다른 더러운 해킹을 생각해 내면 결국 작동을 멈출 것입니다.
이 문제를 해결하기 위해 에너지를 낭비하지 마시고 브라우저가 유용하게 제공하는 방법을 수용 할 것을 제안합니다 . 페이지가 충돌하는 것처럼 보이기 전에 사용자 에게 물어보십시오 .
다음은 Prompt 또는 Warning없이 브라우저를 닫는 데 사용하는 Javascript 기능입니다. Flash에서도 호출 할 수 있습니다. html 파일에 있어야합니다.
function closeWindows() {
var browserName = navigator.appName;
var browserVer = parseInt(navigator.appVersion);
//alert(browserName + " : "+browserVer);
//document.getElementById("flashContent").innerHTML = "<br> <font face='Arial' color='blue' size='2'><b> You have been logged out of the Game. Please Close Your Browser Window.</b></font>";
if(browserName == "Microsoft Internet Explorer"){
var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
if (ie7)
{
//This method is required to close a window without any prompt for IE7 & greater versions.
window.open('','_parent','');
window.close();
}
else
{
//This method is required to close a window without any prompt for IE6
this.focus();
self.opener = this;
self.close();
}
}else{
//For NON-IE Browsers except Firefox which doesnt support Auto Close
try{
this.focus();
self.opener = this;
self.close();
}
catch(e){
}
try{
window.open('','_self','');
window.close();
}
catch(e){
}
}
}
showModalDialog
. 에 closeWindows
이전이 열려있는 동안, 그것은 새 창 (같은 페이지)를 엽니 다.
이것은 Chrome 26, Internet Explorer 9 및 Safari 5.1.7에서 작동합니다 ( 도우미 페이지를 사용 하지 않고 Nick의 대답).
<script type="text/javascript">
window.open('javascript:window.open("", "_self", "");window.close();', '_self');
</script>
중첩 window.open
은 IE 가이 창을 닫으시겠습니까? 프롬프트 를 표시 하지 않도록하는 것 입니다.
불행히도 Firefox에서 창을 닫는 것은 불가능합니다.
본문 태그에서 :
<body onload="window.open('', '_self', '');">
창을 닫으려면 :
<a href="javascript:window.close();">
Safari 4.0.5, Mac 3.6 용 FF, IE 8.0 및 Windows 3.5 용 FF에서 테스트되었습니다.
보안상의 이유로 창은 JavaScript로 열린 경우에만 JavaScript에서 닫을 수 있습니다. 창을 닫으 _self
려면 현재 창을 덮어 쓰는 대상으로 새 창을 열고 해당 창 을 닫아야합니다 (JavaScript를 통해 열렸 기 때문에 수행 할 수 있음).
window.open('', '_self', '');
window.close();
에서 여기 :
<a href="javascript:window.opener='x';window.close();">Close</a>
window.opener
무언가 를 설정해야합니다 . 그렇지 않으면 불평합니다.
window.open('', '_self', '').close();
여기서 조금 늦게 미안하지만 적어도 내 경우에는 해결책을 찾았습니다. Safari 11.0.3 및 Google Chrome 64.0.3282.167에서 테스트되었습니다.
IE의 보안 향상으로 인해 스크립트로 열지 않는 한 창을 닫을 수 없습니다. 따라서이 문제를 해결하는 방법은 브라우저가이 페이지가 스크립트를 사용하여 열렸다고 생각한 다음 창을 닫는 것입니다. 아래는 구현입니다.
이것을 시도하면 매력처럼 작동합니다!
자바 스크립트는 프롬프트 IE없이 현재 창 닫기
<script type="text/javascript">
function closeWP() {
var Browser = navigator.appName;
var indexB = Browser.indexOf('Explorer');
if (indexB > 0) {
var indexV = navigator.userAgent.indexOf('MSIE') + 5;
var Version = navigator.userAgent.substring(indexV, indexV + 1);
if (Version >= 7) {
window.open('', '_self', '');
window.close();
}
else if (Version == 6) {
window.opener = null;
window.close();
}
else {
window.opener = '';
window.close();
}
}
else {
window.close();
}
}
</script>
이것은 작동합니다.
<script type="text/javascript">
function closeWindowNoPrompt()
{
window.open('', '_parent', '');
window.close();
}
</script>
ASPX에 다음 코드를 넣습니다.
<script language=javascript>
function CloseWindow()
{
window.open('', '_self', '');
window.close();
}
</script>
버튼 클릭 이벤트 뒤에있는 코드에 다음 코드를 삽입합니다.
string myclosescript = "<script language='javascript' type='text/javascript'>CloseWindow();</script>";
Page.ClientScript.RegisterStartupScript(GetType(), "myclosescript", myclosescript);
닫기 전에 처리가 없으면 버튼 클릭 태그의 ASPX 자체에 다음 코드를 직접 넣을 수 있습니다.
OnClientClick="CloseWindow();"
도움이 되었기를 바랍니다.
내 상황에서는 다음 코드가 php 파일에 포함되었습니다.
var PreventExitPop = true;
function ExitPop() {
if (PreventExitPop != false) {
return "Hold your horses! \n\nTake the time to reserve your place.Registrations might become paid or closed completely to newcomers!"
}
}
window.onbeforeunload = ExitPop;
그래서 콘솔을 열고 다음과 같이 씁니다.
PreventExitPop = false
이것은 문제를 해결했습니다. 따라서 JavaScript 코드를 찾아 변수를 찾아 적절한 "값"에 할당합니다. 제 경우에는 "거짓"이었습니다.
이것이 내가 현재 내 사이트에 사용하고 있으며 팝업 메시지를받지 않고 Chrome과 IE 10 모두에서 작동하기 때문에 이것을 게시 할 것입니다.
<html>
<head>
</head>
<body onload="window.close();">
</body>
</html>
새 페이지로 직접 이동하지 않고 세션에 on / off 변수를 저장하는 기능이 내 사이트에 있으므로 작은 팝업 웹 페이지를 엽니 다. 그러면 해당 웹 페이지가 onload="window.close();"
기능 과 함께 즉시 닫힙니다 .
a
with target=_blank
를 사용하고 있으며 마지막으로 JS를 사용하여 창을 닫습니다. 목적은 특정 URL이 배경 이미지를 비활성화하기 위해 세션에 값을 저장하는 것입니다.하지만 곧 여기서는 ajax를 수행하는 방법을 알아 내면 ajax를 위해 삭제하게 될 것입니다. (여전히 로프 persay 학습)
window.open('','_self').close()