이 jQuery 코드가 있습니다.창 beforeunload가 두 개의 대화 상자를 표시합니다.
$(function() {
$(window).unbind("beforeunload");
$(window).bind("beforeunload", function() {
return confirm("Really?");
});
});
내가 창을 닫으면 확인 요청을 받고 "취소"를 누르면 두 번째 확인 메시지가 나타납니다.
"이 페이지에서 벗어나 실까요?" "계속, 현재 페이지에 남아 있으려면 취소를 누르십시오."
"거짓"
왜 두 번째 대화 상자가 표시되고 제거 할 수있는 방법이 있습니까?
가 될 코드를 변경 한 편집;
$(function() {
$(window).bind("beforeunload", function() {
return "slappy?";
});
});
그러나 확인 메시지가 나타나지 않습니다. 내가 경고를 걸고 경고를 볼 수 있기 때문에 이벤트가 시작됩니다.
편집 2
이에 코드를 바꿨나요;
window.onbeforeunload = function() {
var txtBlog = $('#tbxNote').val();
if (txtBlog != "")
return "You have not saved your blog entry.";
}
작동하지만 다른 메시지가 내 메시지 아래에 있습니다.
"이 페이지에서 벗어나 실까요?"
"블로그 항목을 저장하지 않았습니다."
"계속하려면 확인을 누르고 현재 페이지에 머물려면 취소를 누르십시오."
이것은 IE8에서 발생합니다. 체크하지 않았다면 FF – griegs
당신은'$ (window) .unbind ("beforeunload"). bind ("beforeunload"), ...'를 사용하여 줄이거 나 할 수있다. 그러나 그것은 완전히 당신에게 달려있다. –
Re edit 2 : 아래에서 언급 한 바와 같이, 추가 텍스트를 변경하거나 제거 할 수 없습니다. 그렇지 않으면 악성 웹 사이트가 사기성 메시지를 표시하여 사람들을 혼란스럽게 할 수 있습니다. –