为什么在Google Chrome浏览器中看不到非唯一ID警告?

时间:2019-09-20 11:39:31

标签: html google-chrome

在某些页面上,我收到此Chrome警告:

[DOM] Found 2 elements with non-unique id #Name: (More info: https://www.chromium.org/developers/design-documents/create-amazing-password-forms) 
<input disabled=​"disabled" id=​"Name" name=​"Name" />​ 
<input id=​"Name" name=​"Name" type=​"hidden" />​

我正在使用Chrome:版本77.0.3865.90(正式版本)(64位)

我试图通过在Chrome中显示下一个代码来重复此问题,但是没有警告吗?

两个相同的ID不足以显示此警告吗?我错过了什么?

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title></title>
</head>
<body>
   <input id="Name" name="Name" />
   <input id="Name" name="Name" /> 
   <input id="password" name="password" type="password">
</body>
</html>

enter image description here

编辑

即使您用 form 包装输入元素,警告仍不会显示

2 个答案:

答案 0 :(得分:0)

此警告将显示在表单字段中。 因此,如果将其用<form></form>包装-您会看到此警告。

答案 1 :(得分:0)

以下是我能够通过以下方式触发警告的最低的最低HTML:

<input id="foo">
<input id="foo">

显然,仅当至少一个input不在任何形式之外时,才会触发警告。如果所有的欺骗输入都被包装成表格,那么它们就不会被检测到。以下内容不会触发警告:

<form>
    <input id="foo">
    <input id="foo">
</form>
<form>
    <input id="foo">
    <input id="foo">
</form>

但是以下内容确实存在:

<form>
    <input id="foo">
    <input id="foo">
</form>
<input>

这意义非零,所以我认为这是Chrome引擎中的错误,将来可能会发生变化。

Chrome:版本86.0.4240.111(正式版本)(64位)

最后的提示:本地文件似乎根本没有触发该警告。尝试通过您选择的Web服务器从有效URL加载HTML。