Czy funkcja autocomplete = „off” jest zgodna ze wszystkimi nowoczesnymi przeglądarkami?

84

Właśnie dostałem wymóg, aby uniemożliwić przeglądarkom zapisywanie danych wprowadzanych w określonych polach formularza. Minęły lata, odkąd zajmowałem się tworzeniem stron internetowych i jest to stosunkowo nowa funkcja. Udało mi się znaleźć właściwość autocomplete = "off" pola formularza, ale nie mogę znaleźć żadnej dokumentacji wskazującej, które przeglądarki ją obsługują. Czy ktoś może wskazać mi właściwy kierunek wykresu atrybutów formularza i zgodności przeglądarek?

EmmyS
źródło
Związane z: stackoverflow.com/questions/582244/…
ChristopheD
2
@camigreenall - nie jest duplikatem; pytanie, z którym łączyłeś się, zawierało odpowiedź, jak to zrobić; to, o co prosiłem, to dokumentacja zgodności przeglądarki.
EmmyS

Odpowiedzi:

103

Należy pamiętać, że wszystkie główne przeglądarki dążą do ignorowania atrybutów pól haseł .

Mogę podać tylko niepotwierdzone dowody, ale nie spotkałem jeszcze przeglądarki, która nie szanuje autocomplete="off", to doświadczenie obejmuje:

  • Firefox 1.5+ (Windows i Ubuntu)
  • Opera 6+ (Windows i Ubuntu)
  • Chrome v2 + (Windows i Ubuntu)
  • Objawienie Pańskie 0.8 (ISH) (Ubuntu)
  • Midori (nie pamiętam, która wersja)
  • Safari v1 + (Windows)
  • IE 4-8, Windows.

Zdaję sobie sprawę, że skrypty Greasemonkey i prawdopodobnie inne skrypty użytkownika mogą wyłączyć to autocompleteustawienie.

Znalazłem kilka artykułów, które mogą Ci się przydać:

  1. Jak wyłączyć automatyczne uzupełnianie formularzy
  2. Korzystanie z autouzupełniania w formularzach html
David mówi, że przywróć Monikę
źródło
Dzięki za te artykuły. Wiem, że istnieją skrypty, które mogą wyłączyć to ustawienie, ale tylko tyle możemy zrobić. Jeśli ktoś chce, aby przeglądarka zapisywała informacje o karcie kredytowej na jego komputerze osobistym, niewiele możemy zrobić, aby temu zapobiec. Naprawdę staramy się, aby dane nie były zapisywane na współdzielonych komputerach.
EmmyS
@EmmyS, nie, to prawda. Wymagałoby to dość znającego się na technologii użytkownika, aby zadać sobie trud wdrożenia rozwiązania zapobiegającego autouzupełnianiu, a to, co użytkownicy robią z witryną na swoich komputerach, zależy od nich, a nie od Ciebie. =)
David mówi, że przywróć Monikę
@DavidThomas - Dzięki za listę kompatybilności, nie mogłem znaleźć dobrego z caniuse, w3c lub gdzie indziej. :) +1
Travis J
1
@EmmyS „ Naprawdę staramy się, aby dane nie były zapisywane na współdzielonych komputerach. ” Poprawnym sposobem na to jest prawidłowe skonfigurowanie przeglądarek na współdzielonych komputerach, tak aby nie zachowywały żadnych informacji między sesjami.
curiousguy,
1
@curiousguy - tak, to dobry pomysł, jeśli masz kontrolę nad współdzielonymi maszynami. W tym przypadku nie.
EmmyS
37

Menedżerowie haseł ignorują teraz autocompleteatrybut passwordpól w głównych przeglądarkach od:

Powinno nadal działać dobrze w przypadku wyłączania autocompletepól formularza, ale nie ma już wpływu na menedżera haseł.

Manishearth
źródło
Tak nie jest. Właśnie przetestowałem. Umieszczono nawet dodatkowe autocomplete="false"w polu formularza, oprócz tego, które było obecne w samym elemencie formularza. Bez żadnego efektu. Powiedziałbym, że autouzupełnianie jest ignorowane przez wszystkie główne przeglądarki.
Eugene
4

Jeśli jesteś w stanie korzystać z JavaScript i jQuery, możesz to umieścić podczas ładowania html:

$('#theform input').val('');
ITroubs
źródło
Jest to używane w Joomla, która używa Mootools - są konflikty z mootools i jquery, więc nie mogę tego zrobić. Będę jednak o tym pamiętać na przyszłość.
EmmyS
odwołując się do dokumentacji mootools możesz zrobić $$ ('. emptyThisInForm'). each (function (el) {el.value = '';});
ITroubs
1
Ten kod zepsuje pola wyboru i przyciski opcji. Bardziej eleganckie może być $('#theform')[0].reset()wymuszenie powrotu do wartości domyślnych określonych w kodzie HTML.
Gabe Martin-Dempesy
1
Aby wpłynąć tylko na pola haseł, możesz użyć bardziej szczegółowego selektora jQuery, na przykład:$( '#theform input:password' ).val('');
John Hascall
1

Myślę, że z wyjątkiem przeglądarki Maxthon Browser , są one znane w Chinach i zyskują obecnie światową sławę. Nie traktują zbyt dobrze autouzupełniania = wyłączenia zasilania. To nie zadziała z nimi.

Shockwave29
źródło
Tak, Maxthon nie będzie szanował autocomplete=off, ale możesz zmusić go, aby nie ismxfilled='0'
uzupełniał
0

Prawdę mówiąc, zarówno pola nazwy użytkownika, jak i hasła nie reagują na funkcję AutoComplete = off we wszystkich najnowszych przeglądarkach.

NixRam
źródło