1

出于好奇,我可以控制 window.onbeforeunload 事件,例如检查用户是决定离开页面还是留在页面中,如果是,我可以根据他的决定发出警报或某些功能,请告诉我

<script type="text/javascript">
$(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");
});
</script>

我知道 window.onbeforeunload 是一个事件,它给用户一个消息,告诉他也许你在离开之前忘记做某事,但这个任务只是出于好奇,谢谢

4

3 回答 3

1

您只能返回一个字符串,该字符串将显示一个对话框确认,显示您返回的字符串(但带有额外的确定/取消按钮来确认操作)。

<script type="text/javascript">
$(window).bind("beforeunload",function(){
return 'Are you sure you want to leave this page?';
});
</script>
于 2012-08-24T06:15:16.047 回答
0

你不能得到 的结果onbeforeunload。此外,即使您设法以某种方式设法获得结果,您也无法发出警报。您可能可以运行另一个功能。

现在允许 , 和 方法在showModalDialog(),和alert()事件期间不做任何事情。confirm()prompt()pagehidebeforeunloadunload

于 2012-08-24T06:07:31.053 回答
0

放一个一秒的计时器。卸载时清除。应该可以,但没有测试。

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?';
});
于 2015-03-31T01:53:26.790 回答