提问者:小点点

如何更改onbeforeunload消息的语言?[副本]


我有一个典型的具有多种语言(法语、英语和荷兰语)的web应用程序,我正在使用页面卸载触发器来警告用户在离开页面/关闭选项卡/等等时未保存的更改。这个很管用。

我的问题是,在不改变浏览器语言的情况下,我如何改变对话框标题和“离开此页”和“留在此页”两个框的onbeforeunload消息的语言?


共1个答案

匿名用户

当前无法更改OnBeforeUnload对话框的浏览器默认UI,因为它很容易被滥用:

  • 自定义浏览器的对话框将允许开发人员欺骗用户留在页面中(例如更改按钮的文本内容或隐藏它们)。
  • 您不能用自己的代码替换OnBeforeUnload对话框,因为这样,开发人员将决定何时可以关闭窗口,而这不是浏览器的工作方式。

控制浏览器的是用户,而不是开发人员。因此有这些限制。

只要假设用户的浏览器使用的是一种他/他能够理解的语言,并且他/他能够从那里理解。这是我们目前最好的了。

参见相关线程

这种情况在以后的影子DOM和新的API中可能会改变,但我想不出任何不会被轻易滥用的方法(除了请求一个“防止关闭”API,类似于浏览器处理GetUserMedia)。如果您觉得这是一个重要的特性,可以帮助其他开发人员,请随时向WHATWG建议。