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?




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

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ł.


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('');

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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.