Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 铬合金63+;使用输入类型密码和非唯一ID引发[DOM]错误_Html_Google Chrome_Dom - Fatal编程技术网

Html 铬合金63+;使用输入类型密码和非唯一ID引发[DOM]错误

Html 铬合金63+;使用输入类型密码和非唯一ID引发[DOM]错误,html,google-chrome,dom,Html,Google Chrome,Dom,Chrome 63会引发以下错误: [DOM]发现2个元素具有非唯一id#a:(更多信息:) 从Chrome 63开始使用输入型密码时是否有任何特殊验证?是的,有;这就是你看到这条信息的原因。但我怀疑这不是你真正想问的 如果您的问题是为什么Chrome开始显示此消息,那么我的猜测是,由于密码表单倾向于传输敏感信息(即密码),因此密码表单中的任何错误都应该立即引起开发人员的注意。在设计和实现密码表单时应更加小心 错误消息链接到的文档(我不能假设您已经阅读了,因为您在问题中没有确认)有一个关于

Chrome 63会引发以下错误:

[DOM]发现2个元素具有非唯一id#a:(更多信息:)



从Chrome 63开始使用输入型密码时是否有任何特殊验证?

是的,有;这就是你看到这条信息的原因。但我怀疑这不是你真正想问的

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

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

遵循HTML准则 Web浏览器是根据HTML规范设计的,违背它可能会导致网页出现意外问题。这意味着:

元素
id
属性应该是唯一的:任何两个元素都不应该具有相同的
id

(为什么这条规则是唯一存在的,这是所有人的猜测;看起来他们肯定打算在未来添加更多,但奇怪的是,他们拿出一份只有这条规则的文件,并称之为好的。)


似乎没有办法禁用此消息,但由于它不会阻止页面超出重复id的工作范围(它们也不会),如果您无法自己更正非唯一id,则可以安全地忽略它。

而不是
id='a'
使用具有唯一名称的
class='a'
,然后与中的.a一起使用,或者您可以使用与其他字段id不同的唯一id,如
id='a'
和其他字段,如
id='b'

而不是
[id]
尝试使用
[attr.id]


这对我来说很有效,希望能有所帮助。

有时很难看到唯一ID。例如,Mole评论小部件的id为,绑定到css和js。很快就有人想要在一个页面上有两个注释小部件——程序员不想重写太多代码,只是为了遵循规范。由于过去十年浏览器忽略了HTML页面上的多个id,console中80%的大型网站在某些页面上出现了这种错误,这让人大吃一惊:每个人都希望谷歌提供方便的工具,而不是游说标准。@Alexander Goncharov:我同情这种困境,但我不代表谷歌、Chrome团队或任何标准机构;如果你想表达你对这个决定的不同意见,就和他们商量一下,不要这样做。此外,我说过你可以忽略这个警告,因为它不会破坏你的页面,就像重复ID一样,所以如果你认为没有必要修复它们,为什么要让警告如此困扰你?这里的问题是,这些警告正在污染其他真实的错误,使其可读性降低。最好有一个隐藏它们的选项。我同意Alexander的观点这有点垃圾standards@Mark艾默里:现在问题中添加了链接,错误信息的问题得到了解决,但更明显的是,该链接没有得到任何确认(在某种程度上,除非询问者考虑并需要澄清其内容,否则问题根本不可能存在)。因此,我觉得我的声明仍然有效。老实说,我也不知道我想对这个问题的否决票做什么。@BoltClock不确定它是什么时候实现的,但它看起来可以过滤。控制台窗口顶部有一个“默认级别”下拉列表,您可以单独选择。取消选择“警告”将删除此邮件。您也可以使用类似Google的搜索进行筛选。例如,筛选器中的“-DOM”也会隐藏这些邮件。
<input type="password">
<input id="a">
<input id="a">