javascript - 为什么浏览器不支持自定义 onbeforeunload 消息?
问题描述
警报中自定义文本的支持onbeforeunload
一直很差,浏览器使它变得更差(不再支持自定义文本)。
对于渐进式 Web 应用程序和所有应用程序,似乎应该推动这样的功能,因为所有依赖于某种数据同步的应用程序都可能需要提醒用户数据未保存。
那么在窗口关闭期间自定义警报仍然不可用的原因是什么?
解决方案
最初返回值被用作消息。HTML5 规范说:
该
returnValue
属性表示要向用户显示的消息。
但是恶意软件作者将消息放在那里以吓唬人们关闭他们的弹出窗口。他们会告诉用户他们的计算机被感染了,他们需要下载网站的软件来清理它;实际上,他们告诉用户安装的软件是恶意软件。
所以HTML 生活标准现在说:
该
BeforeUnloadEvent
接口是一个遗留接口,它不仅可以通过取消事件来控制提示卸载,还可以通过将returnValue
属性设置为空字符串之外的值来控制。
它不再说应该向用户显示返回值,这允许浏览器改为显示罐装消息,以防止此类滥用。它还标准化了特定浏览器中跨 Web 应用程序的用户体验。不幸的是,这意味着用户体验因浏览器而异,这对于希望为所有用户提供标准体验的应用程序开发人员来说可能很烦人。
推荐阅读
- reactjs - 在 jsx 数组 .map 中添加 javascript
- python-3.x - 如何在 dynamodb 中使用 python 按需创建一个表?
- python - 使用 beginMoveColumns 在 QTableView (QAbstractTableModel) 中的列没有正确移动?
- flutter - Android Studio 版本在 cmd 中无法识别
- c++ - 有人可以简单地向我解释一下什么是 std::streampos 吗?
- typescript - 将字符串数组转换为打字稿中的对象键
- node.js - 如何为 Electron 应用程序手动重建本机节点模块?
- json - 需要 JOLT 转型
- android - 适用于 Android 的 Brightcove Native SDK 提供 NoClassDefFoundError
- ios - UICollectionview Cell中的UIViewController在部分重载数据时消失