2017-12-14 140 views
5

Z Chrome 63, następujące jest błąd:chrom 63 rzuca [DOM] Błąd z hasłem wejściowej nieunikalny identyfikatorów

[DOM] Znaleziono 2 elementy z nie unikatowy identyfikator #A:

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

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

Czy jest jakiś specjalny rodzaj walidacji dzieje podczas wprowadzania hasła jest używany, zaczynając od Chrome 63?

+1

Wygląda na to, czy śledziłeś [link] (https://www.chromium.org/developers/design-documents/create-amazing-password-forms) podany w komunikacie o błędzie? Czy ten błąd uniemożliwia działanie na Twojej stronie? – Kaiido

Odpowiedz

9

Cóż, jeśli spojrzysz na resztę komunikatu o błędzie (nie wiem, dlaczego ludzie czytają i cytują tylko części komunikatów o błędach, a nie całość), wygląda na to, że zespół Chromium przygotował design document that's dedicated to passworded forms.

Domyślam się, że ponieważ formularze z hasłami mają tendencję do przekazywania poufnych informacji (a mianowicie hasła), wszelkie błędy w formularzach hakowanych powinny zostać natychmiast zwrócone do dewelopera. Sam dokument projektowy ponownie określa unikatową regułę identyfikatora:

Przeglądarki internetowe zostały zaprojektowane z myślą o specyfikacji HTML, a postępowanie przeciwko niemu może prowadzić do nieoczekiwanych problemów ze stroną internetową. To oznacza:

Atrybuty elementu id powinny być unikalne: żadne dwa elementy nie powinny mieć tego samego id.

(Dlaczego ta zasada jest jedynym, który tam jest niczyją przypuszczenie.)

Tam nie wydaje się być sposób, aby wyłączyć ten komunikat, ale ponieważ nie zapobiega stronę z pracy, jeśli nie możesz samodzielnie poprawić unikalnych identyfikatorów, jedyną opcją wydaje się zignorowanie tego.

+0

Czasami zbyt trudno jest oglądać unikalne identyfikatory. Dla widżetu komentarza komentarza był identyfikator, powiązany z css i js. Wkrótce ktoś chce dwóch komentarzy-widgetów na jednej stronie - i programiści nie chcą przepisać wiele kodu, tylko po to, by podążać za specyfikacją. Ponieważ ostatnie dziesięć lat przeglądarek ignorowało wiele identyfikatorów na stronach HTML, 80% dużych witryn w konsoli podaje ten błąd na niektórych stronach, to przecina oko: każdy oczekuje od Google wygodnych narzędzi, a nie standardów lobbingu. –

+0

@Alexander Goncharov: Ja sympatyzuję z tą sytuacją, ale nie reprezentuję Google, zespołu Chrome ani żadnego organu normalizacyjnego; jeśli chcesz wyrazić niezgodę z tą decyzją, weź ją ze sobą, nie [odrzucaj mojej odpowiedzi tylko dlatego, że nie jest to, co chciałeś usłyszeć] (https://en.wikipedia.org/wiki/Shooting_the_messenger). Poza tym, powiedziałem, że możesz zignorować to ostrzeżenie, ponieważ nie łamie on twojej strony tak samo jak duplikaty identyfikatorów, więc jeśli nie widzisz potrzeby ich naprawienia, dlaczego przeszkadza ci to ostrzeżenie dużo? – BoltClock

1

zmienić identyfikatory z inną nazwą, która nie jest a i. Yo