阻止用户将内容粘贴到输入字段中
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
有些网站声称允许用户粘贴密码会降低安全性。
不过,密码粘贴功能实际上支持使用密码管理工具,因而可以提高安全性。
密码管理工具通常会为用户生成安全系数高的密码并妥善存储这些密码,然后在用户需要登录时自动将这些密码粘贴到密码字段中。相较于强制要求用户必须输入足够简短且容易记住的密码,这种方法通常更安全。
一般来说,不应阻止用户将内容粘贴到 <input>
元素中。
此 Lighthouse 审核如何失败
Lighthouse 标记阻止用户将内容粘贴到非只读输入字段的代码:
Lighthouse 会收集所有非只读的 <input>
元素,将一些文本粘贴到每个元素中,然后验证自定义事件处理脚本是否阻止了 paste
事件。
您还可以阻止在 paste
事件监听器之外执行粘贴操作。Lighthouse 未检测到这种情况。
如何允许粘贴到密码字段中
找到阻止粘贴的代码
若要快速查找和检查阻止粘贴的代码,请执行以下操作:
- 展开 Event Listener Breakpoints 窗格。
- 展开剪贴板列表。
- 选中
paste
复选框。
- 将一些文本粘贴到您网页上的密码字段中。
- 开发者工具应该会在相关
paste
事件监听器中的第一行代码暂停。
移除阻止粘贴的代码
问题的根源通常是在与密码输入元素关联的 paste
事件监听器中调用 preventDefault()
:
let input = document.querySelector('input');
input.addEventListener('paste', (e) => {
e.preventDefault(); // This is what prevents pasting.
});
如果您只是要监听粘贴事件以抢占它们,请移除整个事件监听器。
资源
禁止用户将内容粘贴到输入字段中审核的源代码
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2019-05-02。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2019-05-02\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2019-05-02。"]]