【问题标题】:Event calling before page unload页面卸载前的事件调用
【发布时间】:2011-04-11 14:12:09
【问题描述】:

我想在卸载html 页面之前弹出一个对话框,询问是否卸载页面。如果选择 yes 则继续卸载,如果选择 no 则取消卸载事件。

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    您不能将文本设置为“是”/“否”(在大多数浏览器中会是“确定”/“取消”),但您可以在离开页面时提示(使用时要小心)以任何方式使用window.onbeforeunload,像这样:

    window.onbeforeunload = function() {
      return "Are you sure you wish to leave the page?";
    }
    

    只有在你有充分理由的情况下才使用它,不要惹恼你的用户。话虽如此,这将在离开页面时提示,包括历史记录返回、转发、刷新、关闭窗口/选项卡、单击链接以导航或提交表单等。所以你可能想在什么时候调用它去不应该提示的地方:

    window.onbeforeunload = null;
    

    例如,提交一种信息形式,您希望在离开/丢失数据时提示,而不是在实际提交时提示。

    【讨论】:

    • @suraj:例如,开始在下面输入答案,然后尝试离开页面。 :-) StackOverflow 完全符合 Nick 的描述。
    • “所以你可能想在去不应该提示的地方时调用它......” 或者使用标志或签入函数,而不是断开连接它。如果函数不返回字符串,则不会提示用户。
    • @TJCrowder - 有一些问题,我这辈子都不记得了,但之前遇到过,分离始终是安全的途径。如果我今天想到它,我会回来更新,但我确实记得这是一个罕见的边缘情况,可能只有 1 或 2 个浏览器(存在安全性或烦恼,代码控制允许在该功能中使用的内容)各种浏览器)。
    猜你喜欢
    • 1970-01-01
    • 2017-09-21
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 2012-12-13
    • 2015-05-02
    • 1970-01-01
    相关资源
    最近更新 更多