ProgramingTip

Firefox 4 onBeforeUnload 사용자 지정 메시지

bestdevel 2020. 11. 5. 08:24
반응형

Firefox 4 onBeforeUnload 사용자 지정 메시지


Firefox 3 에서는 팝업을 다음 과 같이 사용자 지정 확인 팝업을 나타냅니다.

window.onbeforeunload = function() {
   if (someCondition) {
      return 'Your stream will be turned off';
   }
}

이제 Firefox 4 에서는 사용자 지정 메시지가 표시되지 않습니다. 제공하는 기본 메시지는 내 응용 프로그램이 수행하는 작업에도 수행하지 않습니다.

firefox 4 확인

이 기본 메시지를 무시할 수 있습니까?


에서 MDN :

Firefox 4 이상에서는 언어가 표시되지 않습니다. 버그 588292를 참조하십시오 .

이 "버그"는 실제로는 의심 할 여지가없는 기능입니다. 따라서 Firefox 4에서 메시지를 표시 할 방법이 없습니다. 변경해야한다고 생각한다고 Firefox 개발자가 사람들이 원하는 것을 알 수 있습니다. 사용자 지정을 표시 할 수 있습니다.


위의 답변에 추가하여 해결 방법을 개선했습니다.

여기에서 jquery를 사용했습니다. 기본 자바 펼쳐 기능도 사용할 수 있습니다.

$(window).bind('beforeunload', function() {
    if(/Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
        if(confirm("Are you Sure do you want to leave?")) {
            history.go();
        } else {
            window.setTimeout(function() {
                window.stop();
            }, 1);
        }
    } else {
        return "Are you Sure do you want to leave?";
    }
});

firefox 11 작동 테스트되고 작동합니다. :)


내 해결 방법은 onbeforeunload에 경고를 표시하는 것입니다.

window.onbeforeunload=function() {
    if ( /Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
        alert("Blah blah. You have to confirm you are leaving this page in the next dialogue.");
    }
    return "Blah blah."; 
} 

(Firefox는 두 개의 대화가 표시되고 다른 하나는 대화가 표시됩니다.)


확인 메시지로 구현 제안.

window.onbeforeunload=function(){
   return confirm("Are you sure??");
}

물론 사용자가 확인하면 FF4 메시지가 표시되는 로그인 / 방문시 사이트 당 한 번 표시하는 것이 좋습니다. 쿠키가 트릭을 수행해야합니다.

참고 URL : https://stackoverflow.com/questions/5398772/firefox-4-onbeforeunload-custom-message

반응형