【发布时间】:2017-05-30 18:57:17
【问题描述】:
我需要有办法做到以下几点:
- 当用户点击退出窗口时,应该询问他们是留下还是离开
- 如果用户点击停留,它应该将他们引导到新页面
- 如果用户点击离开,窗口应该关闭
我目前有以下代码:
var timeout;
$(window).on('beforeunload', function (){
timeout = setTimeout(function() {
alert('You stayed');
window.location.href = 'desktop/salvage';
}, 1000);
return "You save some unsaved data, Do you want to leave?";
});
function noTimeout() {
alert("You're leaving!");
clearTimeout(timeout);
}
window.unload = noTimeout;
警报运行正常,但如果用户单击停留,则尝试导航到另一个页面在加载之前再次运行并再次提示您。这会陷入无限循环,直到您决定离开页面,如果您选择“停留”,您将被导航到应该导航到的页面。
【问题讨论】:
标签: javascript onbeforeunload window.location