我有一个页面,其中有一个退出页面确认框,即此代码
<script>
window.onbeforeunload = function() {
return 'You have unsaved changes!';
}
</script>
现在,我想添加重定向。例如,我关闭页面,将出现一个确认框,其中包含一个离开和取消按钮。单击取消时,它将重定向到页面。然后,点击离开按钮时,页面将关闭。
请帮助。
答案 0 :(得分:0)
不幸的是,这是不可能的。防止关闭或刷新页面的唯一方法是使用beforeunload
事件。
我使用的小技巧是将事件绑定到页面上的所有a
标签和F5
按钮,该事件显示带有确认信息的模式。然后如果单击cancel
按钮,我将阻止默认操作。因此页面没有刷新或重定向。
但是,关闭标签页无法实现您想要的功能。不过这很可惜,因为许多人为此感到挣扎。
答案 1 :(得分:0)
尝试这样的事情:
if (typeof window.addEventListener === 'undefined') {
window.addEventListener = function(e, callback) {
return window.attachEvent('on' + e, callback);
}
}
window.addEventListener('beforeunload', function() {
return 'Dialog Text Here';
});
如果这行不通,那么您可以尝试以下非常简单的方法:
window.onbeforeunload = function(e) {
return 'Dialog text here.';
};
检查MDN以获得一些有用的文档。如果您需要进一步自定义它,请使用bootbox之类的插件。还要检查this answer,并在您的问题下方链接可能的重复项。