我没有实际的用例,但我很好奇,如果用户在触发 window.onbeforeunload 时单击“留在此页面上”,是否有办法做出反应(回调)。
http://jsfiddle.net/rWHU9/ http://jsfiddle.net/rWHU9/
function warning(){
if(true){
console.log('leaving');
return "You are leaving the page";
}
}
window.onbeforeunload = warning;
停留页面没有回调,但离开页面有回调,window.unload
.
尝试设置超时beforeunload
,然后在卸载时将其清除。如果你留下来,超时就会运行,否则就会被清除。
var timeout;
function warning() {
timeout = setTimeout(function() {
alert('You stayed');
}, 1000);
return "You are leaving the page";
}
function noTimeout() {
clearTimeout(timeout);
}
window.onbeforeunload = warning;
window.unload = noTimeout;
DEMO: http://jsfiddle.net/aPwfz/1/ http://jsfiddle.net/aPwfz/1/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)