Chrome 63 抛出输入类型密码和非唯一 ID 的 \[DOM\] 错误

新手上路,请多包涵

从 Chrome 63 开始,抛出以下错误:

[DOM] 找到 2 个具有非唯一 ID #a 的元素:(更多信息: https ://goo.gl/9p2vKq)

https://jsfiddle.net/arnabgh/jz186qxe/

 <input type="password">
<input id="a">
<input id="a">

从 Chrome 63 开始,使用输入类型密码时是否会发生任何特殊验证?

原文由 Arnab Ghosh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 220
1 个回答

就在这里;这就是您看到该消息的原因。但我怀疑这不是你真正要问的。

如果您的问题是 Chrome 为何 开始显示此消息,我的猜测是由于密码表单往往会传输敏感信息(即密码),因此密码表单中的任何错误都应立即引起开发人员的注意。在设计和实施密码表单时应格外小心。

错误消息链接到的文档(我不能假设您已经阅读过,因为您在问题中没有确认它)有一个关于编写符合标准的 HTML 的小节,其中重申了唯一 ID 规则:

遵循 HTML 准则

Web 浏览器在设计时考虑了 HTML 规范,违背它可能会导致您的网页出现意外问题。这表示:

元素 id 属性应该是唯一的:没有两个元素应该具有相同的 id

(为什么这个规则是唯一一个有任何人猜测的;看起来他们肯定打算在未来添加更多,但他们发布了一个只有这个规则的文件并称其为好,这仍然很奇怪。)

似乎没有办法禁用此消息,但由于它不会阻止页面超出重复 ID 的工作方式(而且它们也不会),如果您无法更正非 -自己的唯一 ID 忽略它是安全的。

原文由 BoltClock 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题