[javascript] “이 창을 닫으시겠습니까?”프롬프트를받지 않고 브라우저 창을 닫으려면 어떻게해야합니까?
이 창을 닫으 시겠습니까? 프롬프트 를 받지 않고 브라우저 창 을 닫으려면 어떻게해야합니까?
window.close();
기능을 사용할 때 프롬프트가 표시됩니다 .
답변
window.open('', '_self', ''); window.close();
이것은 나를 위해 작동합니다.
답변
내 친구 … 방법이 있지만 “해킹”은 그것을 설명하기 시작하지 않습니다. 기본적으로 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){
}
}
}
답변
이것은 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();