我有一个典型的多语言网络应用程序(法语,英语和荷兰语),我正在使用页面卸载触发器来警告用户未保存的更改,同时离开页面/关闭标签/等等...工作正常。
我的问题是如何在不改变浏览器语言的情况下,使用对话框标题更改onbeforeunload消息的语言,并且“保留此页面”并“保留此页面”?
答案 0 :(得分:0)
当您使用PhP吐出页面时,您会看到javascript所需的消息,请使用正确的语言回显该消息。
答案 1 :(得分:0)
通过HTML / javascript完成。在页面的HTML代码中添加var如下:
<script>
onBeforeUnloadMessage = "<% $MESSAGE_FROM_SERVER %>";
</script>
在javascript中使用此变量:
window.onbeforeunload = function () {
return onBeforeUnloadMessage;
}
答案 2 :(得分:0)
目前无法更改onbeforeunload
对话框的浏览器默认用户界面,因为它很容易被滥用:
onbeforeunload
对话框,因为开发人员会决定何时可以关闭窗口,而不是浏览器的工作方式。用户可以控制浏览器,而不是开发人员。因此这些限制。
假设用户的浏览器使用的是他/她可以理解的语言,他/她可以从中找出答案。这是我们目前最好的。
将来可能会使用Shadow DOM和新API进行更改,但我无法想到任何不容易被滥用的方法(除了请求“阻止关闭”API,类似于浏览器处理getUserMedia
的方式)。如果您认为这是一项有助于其他开发人员的重要功能,请随时向WHWWG提出建议。
答案 3 :(得分:0)
您可以使用js
的语言翻译插件http://www.jquery4u.com/plugins/10-jquery-translator-plugins/