it-swarm.com.de

Chrome 63+ löst [DOM] -Fehler mit dem Eingabetypkennwort und nicht eindeutigen IDs aus

In Chrome 63 wird der folgende Fehler ausgegeben:

[DOM] 2 Elemente mit nicht eindeutiger ID #a gefunden: (Weitere Informationen: https://goo.gl/9p2vKq )

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

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

Wird bei der Eingabe des Kennworts ab Chrome 63 eine spezielle Prüfung durchgeführt?

13
Arnab Ghosh

Ja da ist; Deshalb sehen Sie diese Nachricht. Aber ich vermute, dass Sie das nicht wirklich fragen.

Wenn Ihre Frage lautet: , warum Chrome diese Meldung angezeigt hat, vermute ich, dass, da kennwortgeschützte Formulare dazu neigen, sensible Informationen (nämlich ein Kennwort) zu übermitteln, Fehler in kennwortgeschützten Formularen sofort auf den Entwickler aufmerksam gemacht werden sollten. Beim Entwerfen und Implementieren von Formularen mit Passwörtern sollte größere Sorgfalt angewandt werden.

Das Dokument, auf das die Fehlernachricht verweist (und ich kann nicht davon ausgehen, dass Sie gelesen haben, da Sie es in Ihrer Frage nicht bestätigt haben), enthält einen Unterabschnitt zum Erstellen von standardkonformem HTML-Code, in dem die eindeutige ID-Regel erneut angegeben wird :

Befolgen Sie die HTML-Richtlinien

Webbrowser werden unter Berücksichtigung der HTML-Spezifikation entwickelt. Andernfalls kann es zu unerwarteten Problemen mit Ihrer Webseite kommen. Das heisst:

Die id-Attribute des Elements sollten eindeutig sein: Keine zwei Elemente sollten dieselbe id-Eigenschaft haben.

(Warum diese Regel die einzige ist, die es gibt, lässt sich nicht sagen; es sieht sicherlich so aus, als beabsichtigen sie in der Zukunft weitere hinzuzufügen, aber es ist immer noch seltsam, dass sie ein Dokument mit dieser einen Regel herausgebracht haben und es gut nennen.)

Es scheint keine Möglichkeit zu geben, diese Nachricht zu deaktivieren. Da dies jedoch nicht dazu führt, dass die Seite nicht so funktioniert, wie dies bei den doppelten IDs der Fall wäre (und auch nicht), wenn Sie die nicht eindeutige IDs selbst können Sie ignorieren.

20
BoltClock

Anstelle von id='a' verwenden Sie class='a' mit dem eindeutigen Namen und dann mit .a in oder Sie können eine eindeutige ID verwenden, die sich von anderen Feld-IDs wie id='a' und anderen Feldern wie id='b' unterscheidet.

1
Krish

Anstelle von [id] versuchen Sie, [attr.id] zu verwenden.

Das hat für mich geholfen, hoffe es hilft.

0
Ganesh Khadsan