【问题标题】:Do something AFTER the user clicks "Leave this Page" right BEFORE the browser is closed在用户单击“离开此页面”之后在浏览器关闭之前执行某些操作
【发布时间】:2014-01-02 18:45:46
【问题描述】:

我为这个愚蠢的问题道歉。我有这个简单的代码:

window.onbeforeunload = function(){
  return 'Are you sure you want to leave?';
};

现在我想在用户选择“离开此页面”后放置一些代码。

我知道我们可以使用这个:

window.onunload = function(){
  alert('bye');
};

但 window.onunload 仅在页面刷新或重定向时有效,而在浏览器关闭时无效。

我也试过这个:

window.onbeforeunload = function(){
  if(confirm('are you sure?'))
     alert('exit') //perfectly works
  else
     return false //will display the popup "Stay/Leave" with the message "false" - this is not what i expect
     //preventDefault() -got some error, 
};

在用户点击“离开此页面”后添加代码的最佳方式是什么?

是否可以捕获用户的选择是 STAY 还是 LEAVE?

重点是在用户选择任何选项后做某事

【问题讨论】:

  • 简短回答:你不能可靠。
  • 感谢@dystroy 的回复。我已经检查了您共享的链接,但它仍在使用窗口的卸载事件,该事件仅在重新加载或重定向页面时才能正常工作,但在浏览器关闭并继续阅读时不能正常工作,它说不依赖于 beforeunload,哇!想知道是否真的没有其他方法
  • 您到底希望发生什么?
  • 答案很简单:在浏览器窗口关闭时没有可靠的方法来做某事。如果用户友好地关闭您的选项卡,您可能希望在更改本地存储等小操作中取得成功,但除了标准对话框功能之外,您无法执行任何请求或显示任何内容。

标签: javascript


【解决方案1】:

没有真正可靠的方法可以做到这一点,而无需创建您自己的具有您想要的功能的浏览器。

要开始使用,您可以查看Chromium Project

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    相关资源
    最近更新 更多