2011-01-04 3 views
1

브라우저가 닫히면 다른 페이지로 리디렉션하고 싶습니다.브라우저 닫기 이벤트가 호출 될 때 다른 페이지로 리디렉션하는 방법

<script language="Javascript"> 
var needToConfirm = true; 
window.onbeforeunload = confirmExit; 
function confirmExit(){ 
    if (needToConfirm){ 
    my_window = window.open ("1.html","mywindow1","status=1,width=350,height=150"); 

    return "You have attempted to leave this page. If you have made any changes " 
      +"to the fields without clicking the Save button, your changes will be " 
      +"lost. Are you sure you want to exit this page?"; 
    } 
} 

을하지만 브라우저의 닫기 버튼을 클릭하고 때, 나는 시스템 확인 메시지을보고하고 있고 또한 모질라의 팝업 페이지 개방을 받고 있지 않다 : 내 코드는 다음입니다. 이 문제를 어떻게 해결할 수 있습니까?

감사 this 페이지에서

답변

0

코드 발췌.

function goodbye(e) { 
if(!e) e = window.event; 
//e.cancelBubble is supported by IE - this will kill the bubbling process. 
e.cancelBubble = true; 
e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog 

//e.stopPropagation works in Firefox. 
if (e.stopPropagation) { 
    e.stopPropagation(); 
    e.preventDefault(); 
} 
} 
window.onbeforeunload=goodbye; 
+0

어디서 팝업 페이지 (page.html)를 여는 코드를 작성해야합니까? 알림 상자를 표시하지 않으려는 대신 팝업 창을 열거 나 다른 위치로 리디렉션하려고합니다. 감사합니다 –

+0

정말 어떻게 해결이 (또는 해결해야합니다) Ajay_Kumars 문제 ... 팝업 사라 졌나요? (그리고 _pop를 여는 것은 _ 문제 였고, _showing하지 않았다 _) – oezi

0

짧은 대답 : 당신이 그것을 차단하지 않았을 경우

코드가 완벽하게 작동합니다.

긴 대답 :

this은 작업 예입니다 - 그것은합니다 (소스 코드를 살펴) 귀사와 같은 거의 동일합니다.

하지만이 기능은 일반적으로 FF의 팝업 차단기를 사용 중지하거나 해당 URL의 팝업 허용 규칙을 만드는 경우에만 작동합니다.

코드가 작동하지 않는 이유는 활성화 된 팝업 차단기 때문입니다.이 좋은 노란색 노란색 "사이트가 팝업을 열려고 시도합니다"라는 경고가 사이트에 표시되지 않습니다. 폐쇄되었습니다 ("이 사이트의 팝업 허용"을 클릭 할 수 없습니다).

관련 문제