Javascript 如何更改onbeforeunload邮件的语言?

Javascript 如何更改onbeforeunload邮件的语言?,javascript,php,html,Javascript,Php,Html,我有一个多语言(法语、英语和荷兰)的典型web应用程序,我使用页面卸载触发器在离开页面/关闭选项卡/等时警告用户未保存的更改。。。这个很好用 我的问题是,如何在不更改浏览器语言的情况下更改标题为dialogbox的onbeforeunload消息和两个botton“离开此页面”和“留在此页面”的语言?当您使用PhP吐出页面时,您会看到javascript所需的消息,用正确的语言回显消息。通过HTML/javascript完成。在页面的HTML代码中,按如下方式添加变量: <script&g

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


我的问题是,如何在不更改浏览器语言的情况下更改标题为dialogbox的onbeforeunload消息和两个botton“离开此页面”和“留在此页面”的语言?

当您使用PhP吐出页面时,您会看到javascript所需的消息,用正确的语言回显消息。

通过HTML/javascript完成。在页面的HTML代码中,按如下方式添加变量:

<script> 
    onBeforeUnloadMessage = "<% $MESSAGE_FROM_SERVER %>";
</script>

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

  • 自定义浏览器对话框将允许开发人员愚弄用户留在页面中(例如更改按钮的文本内容或隐藏按钮)
  • 您不能用自己的代码替换
    onbeforeuload
    对话框,因为开发人员会决定何时可以关闭窗口,而浏览器不是这样工作的
用户控制浏览器,而不是开发人员。因此有这些限制

假设用户的浏览器使用的语言是他/她可以理解的,并且他/她可以从中理解。这是我们目前最好的了


这可能会在将来随着影子DOM和新的API而改变,但我想不出任何不容易被滥用的方法(除了请求一个类似于浏览器处理
getUserMedia
的“阻止关闭”API)。如果您觉得这是一项重要的功能,可以向WHATWG推荐。

您可以使用js的语言翻译插件


但是我如何才能更改两个botton的语言“离开此页”和“留在此页”@DaggNabbit我已经阅读了此解决方案,但没有这两个botton的解决方案,对话框的标题询问没有解决方案的问题不会创建解决方案=/解决方案很简单:忽略它。这是一个浏览器限制。除非你创建自己的浏览器,或者向WHATWG建议一个新的API,否则你无法通过它,虽然他们现在可能有一些更重要的东西要带到网络平台上。你没有读问题的第二段,对吗?哦,是的,等等,让我检查一下this@Fabrício Matté我认为我们不能这样做,因为离开弹出窗口是浏览器的默认设置,这将根据浏览器语言工作,我们不能更改弹出窗口仅限语言Ep,这就是我的答案和被骗问题的答案。
window.onbeforeunload = function () {
    return onBeforeUnloadMessage;
}