Чи сумісний з усіма сучасними браузерами autocomplete = “off”?


84

Я щойно отримав вимогу заборонити браузерам зберігати дані, введені у певні поля форми. Минули роки, відколи я займаюсь веб-розробкою, і це порівняно нова можливість. Мені вдалося знайти властивість поля форми autocomplete = "off", але я не можу знайти жодної документації, яка б вказувала, які браузери його підтримують. Хтось може вказати мені в правильному напрямку діаграми атрибутів форми та сумісності браузера?




2
@camigreenall - не дублікат; запитання, на яке ви зв’язали, дало відповідь, як це зробити; я попросив документацію про сумісність браузера.
EmmyS

Відповіді:


103

Майте на увазі, що всі основні браузери рухаються до ігнорування атрибута для полів паролів .

Я можу надати лише анекдотичні докази, але я ще не стикався з браузером, який не поважає autocomplete="off", цей досвід охоплює:

  • Firefox 1.5+ (Windows та Ubuntu)
  • Opera 6+ (Windows та Ubuntu)
  • Chrome v2 + (Windows та Ubuntu)
  • Epiphany 0.8 (ish) (Ubuntu)
  • Мідорі (не пам'ятаю, яку версію)
  • Safari v1 + (Windows)
  • IE 4 - 8, Windows.

Мені відомо, що сценарії Greasemonkey, і, мабуть, інші користувацькі сценарії можуть вимкнути autocompleteналаштування.

Є кілька статей, які я знайшов, які можуть вам стати в нагоді:

  1. Як вимкнути автозаповнення форми
  2. Використання автозаповнення у формах html

Дякую за ці статті. Я знаю, що є сценарії, які можуть вимкнути налаштування, але ми можемо зробити так багато. Якщо хтось хоче, щоб браузер зберігав дані кредитної картки на своєму персональному комп’ютері, ми не можемо багато чого зробити, щоб запобігти цьому. Ми дійсно намагаємось уникнути збереження даних на спільних машинах.
EmmyS

@EmmyS, ні, це правда. Досить технічно обізнаному користувачеві знадобиться застосувати антиавтоматичне рішення, і те, що користувачі роблять із вашим сайтом на своїх машинах, залежить від них, а не від вас. =)
Девід каже відновити Моніку

@DavidThomas - Дякуємо за список сумісності, не вдалося знайти хороший із caniuse, w3c чи деінде. :) +1
Тревіс Дж.

1
@EmmyS " Ми дійсно намагаємось не допустити збереження даних на спільних машинах. " Правильним способом цього є правильна настройка браузерів на спільних машинах, щоб вони не зберігали ніякої інформації між сесіями.
curiousguy

1
@curiousguy - так, це гарна ідея, якщо у вас є контроль над спільними машинами. Ми не зробили цього.
EmmyS

37

Менеджери паролів тепер ігнорують autocompleteатрибут passwordполів основних браузерів станом на:

Він все одно повинен працювати нормально для відключення autocompleteв полях форми, але більше не впливає на менеджер паролів.


Це не так. Я щойно тестував. Навіть розміщений додатково autocomplete="false"в полі форми, крім одного, який був присутній у самому елементі форми. Ніякого ефекту. Я б сказав, що автозаповнення ігнорується усіма основними браузерами.
Євген

6

Станом на Chrome v34, autocomplete="off"тепер він ігнорується за замовчуванням.

Цю дещо спірну функцію можна вимкнути у конфігурації прапорів, відвідавши chrome://flags

http://news.softpedia.com/news/Chrome-34-Seeks-to-Save-All-Your-Passwords-436693.shtml


6
Зверніть увагу, що ця зміна в Chrome впливає лише на поля пароля . Поля без пароля все ще поважають атрибут autocomplete = "off".
Йордан Рігер

4

Якщо ви можете користуватися JavaScript та jQuery, ви можете розмістити це на завантаженні html:

$('#theform input').val('');

Це використовується всередині Joomla, яка використовує Mootools - існують конфлікти з mootools та jquery, тому я не можу цього зробити. Однак я пам’ятаю це для подальшого використання.
EmmyS

посилаючись на документацію mootools, ви можете зробити $$ ('. emptyThisInForm'). each (function (el) {el.value = '';});
ITroubs

1
Цей код зіпсує прапорці та перемикачі. Що може бути більш елегантним, це $('#theform')[0].reset()примусити його повернутися до значень за замовчуванням, зазначених у HTML.
Гейб Мартін-Демпесі,

1
Щоб просто вплинути на поля паролів, ви можете використовувати більш конкретний селектор jQuery, наприклад:$( '#theform input:password' ).val('');
John Hascall

1

За винятком браузера Maxthon, я думаю, вони відомі в Китаї і здобули ім'я зараз у всьому світі. Вони не дуже добре ставляться до автозавершення = відключення живлення. З ними це не спрацює.


Так, Maxthon не буде поважати autocomplete=off, але ви можете змусити його не заповнювати поле автоматично, встановившиismxfilled='0'
GTCrais

1

Деякі рішення не працюють у сучасних браузерах.

Інше посилання на рішення наведено тут. який працює у всіх сучасних браузерах.

Тип введення = пароль, не дозволяйте браузеру запам'ятовувати пароль

Ви можете використовувати autocomplete = "off" у цьому поданому розв’язанні


0

Насправді, як ім'я користувача, так і пароль не реагують на автозаповнення = вимкнено у всіх останніх браузерах.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.