Autocomplete = “off” có tương thích với tất cả các trình duyệt hiện đại không?


84

Tôi vừa được đưa ra một yêu cầu ngăn trình duyệt lưu dữ liệu được nhập vào các trường biểu mẫu cụ thể. Đã nhiều năm kể từ khi tôi làm web dev và đây là một khả năng tương đối mới. Tôi có thể tìm thấy thuộc tính trường biểu mẫu autocomplete = "off", nhưng dường như tôi không thể tìm thấy bất kỳ tài liệu nào cho biết trình duyệt nào hỗ trợ nó. Có ai có thể chỉ cho tôi đúng hướng của biểu đồ về các thuộc tính biểu mẫu và khả năng tương thích của trình duyệt không?




2
@camigreenall - không phải là bản sao; câu hỏi mà bạn đã liên kết để cung cấp câu trả lời về cách thực hiện; những gì tôi yêu cầu là tài liệu về khả năng tương thích của trình duyệt.
EmmyS

Câu trả lời:


103

Lưu ý rằng tất cả các trình duyệt chính đang tiến tới việc bỏ qua thuộc tính cho các trường mật khẩu .

Tôi chỉ có thể đưa ra bằng chứng mang tính giai thoại, nhưng tôi vẫn chưa gặp phải một trình duyệt nào không tôn trọng autocomplete="off", trải nghiệm này bao gồm:

  • Firefox 1.5+ (Windows và Ubuntu)
  • Opera 6+ (Windows và Ubuntu)
  • Chrome v2 + (Windows và Ubuntu)
  • Epiphany 0.8 (ish) (Ubuntu)
  • Midori (Tôi không nhớ phiên bản nào)
  • Safari v1 + (Windows)
  • IE 4-8, Windows.

Tôi biết rằng các tập lệnh Greasemonkey và có lẽ là các tập lệnh người dùng khác, có thể vô hiệu hóa autocompletecài đặt này.

Có một vài bài báo tôi thấy có thể hữu ích cho bạn:

  1. Cách tắt tính năng tự động hoàn thành biểu mẫu
  2. Sử dụng tự động hoàn thành trong các biểu mẫu html

Cảm ơn những bài báo đó. Tôi biết rằng có những tập lệnh có thể vô hiệu hóa cài đặt này, nhưng chúng tôi chỉ có thể làm được rất nhiều điều. Nếu ai đó muốn trình duyệt của họ lưu thông tin thẻ tín dụng trên máy tính cá nhân của họ, chúng tôi không thể làm gì nhiều để ngăn chặn điều đó. Chúng tôi thực sự đang cố gắng giữ cho dữ liệu không bị lưu trên các máy dùng chung.
EmmyS

@EmmyS, không đúng. Người dùng khá hiểu biết về công nghệ sẽ gặp khó khăn khi triển khai giải pháp chống tự động hoàn thành và những gì người dùng làm với trang web của bạn trên máy của họ là do họ, không phải bạn. =)
David nói Khôi phục Monica

@DavidThomas - Cảm ơn danh sách khả năng tương thích, không thể tìm thấy một cái tốt từ caniuse, w3c hoặc nơi khác. :) +1
Travis J

1
@EmmyS " Chúng tôi thực sự đang cố gắng giữ cho dữ liệu không bị lưu trên các máy dùng chung. " Cách chính xác để làm điều đó là thiết lập chính xác trình duyệt trên các máy dùng chung để chúng không lưu giữ bất kỳ thông tin nào giữa các phiên.
curiousguy

1
@curiousguy - vâng, đó là một ý tưởng hay nếu bạn có quyền kiểm soát các máy dùng chung. Chúng tôi đã không ở trong trường hợp đó.
EmmyS

37

Trình quản lý mật khẩu hiện bỏ qua autocompletethuộc tính cho passwordcác trường trong các trình duyệt chính như sau:

Nó vẫn hoạt động tốt khi vô hiệu hóa autocompletetrên các trường biểu mẫu, nhưng không còn ảnh hưởng đến trình quản lý mật khẩu.


Nó không. Tôi mới thử nghiệm. Thậm chí được đặt bổ sung autocomplete="false"trên trường biểu mẫu, bên cạnh một trường, đã có trên chính phần tử biểu mẫu. Không ảnh hưởng gì. Tôi muốn nói rằng, tính năng tự động hoàn thành bị bỏ qua bởi tất cả các trình duyệt chính.
Eugene

6

Đối với Chrome v34, autocomplete="off"hiện bị bỏ qua theo mặc định.

Tính năng hơi gây tranh cãi này có thể bị vô hiệu hóa trong cấu hình cờ bằng cách truy cập chrome://flags

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


6
Lưu ý rằng thay đổi này trong Chrome chỉ ảnh hưởng đến các trường mật khẩu . Các trường không phải mật khẩu vẫn tôn trọng thuộc tính autocomplete = "off".
Jordan Rieger

4

Nếu bạn có thể sử dụng JavaScript và jQuery, bạn có thể đặt cái này khi tải html:

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

Điều này đang được sử dụng bên trong Joomla, sử dụng Mootools - có xung đột với mootools và jquery, vì vậy tôi không thể làm điều đó. Tuy nhiên, tôi sẽ ghi nhớ nó để tham khảo trong tương lai.
EmmyS

tham khảo tài liệu về mootools mà bạn có thể làm $$ ('. blankThisInForm'). each (function (el) {el.value = '';});
ITroubs

1
Mã này sẽ làm rối tung các hộp kiểm và các nút radio. Điều có thể thanh lịch hơn là $('#theform')[0].reset()buộc nó trở lại các giá trị mặc định được chỉ định trong HTML.
Gabe Martin-Dempesy

1
Để chỉ ảnh hưởng đến các lĩnh vực mật khẩu, bạn có thể sử dụng một bộ chọn jQuery cụ thể hơn, ví dụ:$( '#theform input:password' ).val('');
John Hascall

1

Tôi nghĩ rằng ngoại trừ Maxthon Browser , họ nổi tiếng ở Trung Quốc và tạo được tên tuổi trên toàn thế giới. Họ không đối xử tốt với Autotocomplete = tắt nguồn. Nó sẽ không hoạt động với họ.


Vâng, Maxthon sẽ không tôn trọng autocomplete=off, nhưng bạn có thể buộc nó không tự động hoàn thành lĩnh vực này bằng cách thiết lậpismxfilled='0'
GTCrais


0

Trên thực tế, cả hai trường tên người dùng và mật khẩu không phản ứng với AutoComplete = tắt trong tất cả các trình duyệt mới nhất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.