如何在 beforeunload 事件上设置我自己的消息 [重复]

Posted

技术标签:

【中文标题】如何在 beforeunload 事件上设置我自己的消息 [重复]【英文标题】:how to set my own message on beforeunload event [duplicate] 【发布时间】:2021-05-19 16:16:08 【问题描述】:

如何在此处以我自己的语言设置我自己的消息 无论设置为returnValue,生成的消息都是Changes you made may not be saved.

window.addEventListener("beforeunload", function(event)
    if(saved == false)
        event.preventDefault();
        event.returnValue = "You didn't save changes";
    
);

【问题讨论】:

@imvain2 - 似乎不可能。这是直通吗?这是10年前的事了 “似乎不可能”,这就是为什么这是一个好问题 @TheBombSquad - 不敢相信。如此愚蠢。如果我自己写消息,可能会带来什么安全风险。我可以在任何点击页面上写相同的消息。还是谢谢 哦.. 事情是.. 我明白你的感觉,但如果你可以自定义这些东西.. 可能会有一种方法来防止用户离开(但我同意,他们应该让U 自定义消息 >:) 【参考方案1】:

现代版本的浏览器删除了自定义消息的功能(我想是出于安全原因)。

Chrome from v > 51, Firefox > 4

Safari from v > 9.1

您可以绑定一些回调,但提示中的消息没有变化。

编辑:找到了一个非常好的文档,带有兼容性图here

【讨论】:

我试过if(saved == false)console.log('not saved');... - 不起作用

以上是关于如何在 beforeunload 事件上设置我自己的消息 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

标签更改前的聚合物纸张标签(beforeunload)

如何在 React 中使用窗口的 beforeunload 事件执行 axios 代码

在 beforeunload 事件处理程序中停止页面卸载

如何使用 @HostListener('window:beforeunload') 调用方法?

区分不同类型的 beforeunload 事件

vue 添加移除beforeunload事件