控制window.onbeforeunload事件
出于好奇,我可以控制window.onbeforeunload事件,如检查用户是否决定离开页面或留在其中,我可以根据他的决定提出警报或某些function,如果是,请告诉我
$(window).bind("beforeunload",function(){ if(//stay on page) alert("i want to stay on the page"); else //leave page alert("i want to leave the page"); });
我知道window.onbeforeunload是一个事件,它给用户一个消息,告诉他你可能忘了在离开前做某事但这个任务只是出于好奇而感谢你
你无法获得onbeforeunload
的结果。 此外,即使您以某种方式设法找到获得结果的方法,您也无法提出警报。 你可以运行另一个function。
showModalDialog()
,alert()
,confirm()
和prompt()
方法现在允许在pagehide
,beforeunload
和unload
事件期间不执行任何操作。
您只能返回一个字符串,该字符串将显示一个对话框确认,显示您返回的字符串(但使用其他确定/取消按钮来确认操作)。
放一秒钟的计时器。 在卸载时清除它。 应该工作,但没有测试它。
window.addEventListener('beforeunload', function (event) { var timeId = setTimeout(yourFunctionIfTheUserStays, 1000); window.addEventListener('unload', function (event) { clearTimeout(timeId); }) return 'Are you sure you want to leave this page?'; });