当用户尝试从页面导航时,我需要显示警告消息(“您确定要从此页面导航”)。 我使用:window.beforeunload事件得到了这个。
var warning = true;
$(window).bind('beforeunload', function (event) {
if ((warning)) {
return "You will lose your unsaved changes";
}
});
我遇到的问题是,我在这个页面中有几个导致ajax调用的链接 - 这不会导致'window.beforeunload'被触发。 问题是:当我们点击这些链接时,如何以完全相同的方式显示消息。我确实尝试使用“确认”对话框 - 它可以工作,但是消息显示在对话框窗口中,而不是像在第一种情况下那样在本机浏览器中显示。
答案 0 :(得分:1)
$(document).ready(function() {
var warning = true;
var showWarning = function (event) {
if ((warning)) {
var message = "You will lose your unsaved changes";
if (event.currentTarget.tagName != "A") {
return message;
}
var conf = confirm(message);
if (!conf) { //If clicked no prevent click
event.preventDefault();
return false;
}
}
};
$(window).bind('beforeunload', showWarning);
$("a.ajax").click(showWarning);
});
只需给你的Ajax链接类ajax:
<a href="#" class="ajax">Ajax action</a>
编辑:忘了点什么,现在就可以了!
答案 1 :(得分:0)
我认为这是一种与您在https网站上输入警告消息相关的问题,该网站在http上有相关媒体或iframe ...