为什么浏览器不支持自定义onbeforeunload消息?

时间:2019-01-30 20:57:11

标签: javascript web-applications progressive-web-apps

onbeforeunload警报中对自定义文本的支持一直很差,浏览器使它变得更糟(不再支持自定义文本)。

在使用渐进式Web应用程序和所有功能的情况下,似乎应该向前推进此功能,因为所有依赖某种数据同步的应用程序都可能确实需要提醒用户有关未保存的数据。

关闭窗口期间自定义提醒仍然不可用的原因是什么?

1 个答案:

答案 0 :(得分:0)

最初的返回值被用作消息。 HTML5 specification说:

  

returnValue属性代表显示给用户的消息。

但是,恶意软件作者在其中放置消息,以恐吓人们关闭其弹出窗口。他们会告诉用户他们的计算机已被感染,因此需要下载该站点的软件进行清理;实际上,他们告诉用户要安装的软件是恶意软件。

所以HTML Living Standard现在说:

  

BeforeUnloadEvent接口是传统接口,其允许提示到卸载不仅通过取消的情况下,但通过设置returnValue属性的值除了空字符串来控制。

它不再说应该将返回值显示给用户,从而使浏览器有权显示罐装消息,以防止这种误用。它还可以标准化特定浏览器中Web应用程序的用户体验。不幸的是,这意味着UX在浏览器之间是不同的,这对于希望为所有用户提供标准体验的应用程序开发人员可能会很烦恼。