การเติมข้อความอัตโนมัติ =“ ปิด” เข้ากันได้กับเบราว์เซอร์สมัยใหม่ทั้งหมดหรือไม่


84

ฉันเพิ่งได้รับข้อกำหนดในการป้องกันไม่ให้เบราว์เซอร์บันทึกข้อมูลที่ป้อนลงในช่องฟอร์มเฉพาะ เป็นเวลาหลายปีแล้วที่ฉันได้สร้างนักพัฒนาเว็บและนี่เป็นความสามารถที่ค่อนข้างใหม่ ฉันสามารถค้นหาคุณสมบัติของช่องฟอร์มเติมข้อความอัตโนมัติ = "ปิด" แต่ดูเหมือนว่าฉันไม่พบเอกสารใด ๆ ที่ระบุว่าเบราว์เซอร์ใดรองรับ ใครช่วยชี้ทิศทางที่ถูกต้องของแผนภูมิของรูปแบบแอตทริบิวต์และความเข้ากันได้ของเบราว์เซอร์


ที่เกี่ยวข้อง: stackoverflow.com/questions/582244/…
ChristopheD


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
Travis J

1
@EmmyS " เราพยายามรักษาข้อมูลไม่ให้ถูกบันทึกไว้ในเครื่องที่ใช้ร่วมกัน " วิธีที่ถูกต้องคือตั้งค่าเบราว์เซอร์บนเครื่องที่ใช้ร่วมกันอย่างถูกต้องเพื่อที่จะไม่เก็บข้อมูลใด ๆ ระหว่างเซสชัน
ซอกแซก

1
@curiousguy - ใช่นั่นเป็นความคิดที่ดีถ้าคุณสามารถควบคุมเครื่องที่ใช้ร่วมกันได้ เราไม่ได้อยู่ในกรณีนั้น
EmmyS

37

ตอนนี้ตัวจัดการรหัสผ่านละเว้นautocompleteแอตทริบิวต์สำหรับpasswordฟิลด์ในเบราว์เซอร์หลักตั้งแต่:

ควรยังคงใช้งานได้ดีสำหรับการปิดใช้งานautocompleteในฟิลด์แบบฟอร์ม แต่จะไม่มีผลกับตัวจัดการรหัสผ่านอีกต่อไป


มันไม่ ฉันเพิ่งทดสอบ วางไว้เพิ่มเติมautocomplete="false"ในฟิลด์แบบฟอร์มนอกเหนือจากหนึ่งที่มีอยู่ในองค์ประกอบของฟอร์ม ไม่มีผลกระทบใด ๆ ฉันจะบอกว่าการเติมข้อความอัตโนมัติถูกละเว้นโดยเบราว์เซอร์หลัก ๆ ทั้งหมด
Eugene

6

สำหรับ Chrome v34 autocomplete="off"ตอนนี้จะถูกละเว้นโดยค่าเริ่มต้น

คุณลักษณะที่ค่อนข้างเป็นที่ถกเถียงกันนี้สามารถปิดใช้งานได้ในการกำหนดค่าแฟล็กโดยไปที่ chrome://flags

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


6
โปรดทราบว่าการเปลี่ยนแปลงนี้ใน Chrome มีผลกับช่องรหัสผ่านเท่านั้น ช่องที่ไม่ใช่รหัสผ่านยังคงเป็นไปตามแอตทริบิวต์การเติมข้อความอัตโนมัติ = "off"
Jordan Rieger

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
Gabe Martin-Dempesy

1
หากต้องการส่งผลกระทบต่อฟิลด์รหัสผ่านคุณสามารถใช้ตัวเลือก jQuery ที่เฉพาะเจาะจงมากขึ้นตัวอย่างเช่น:$( '#theform input:password' ).val('');
John Hascall

1

ยกเว้นMaxthon Browserฉันคิดว่าพวกเขามีชื่อเสียงในประเทศจีนและสร้างชื่อไปทั่วโลก พวกเขาไม่ปฏิบัติต่อการเติมข้อความอัตโนมัติ = ปิดเครื่องเป็นอย่างดี มันใช้ไม่ได้กับพวกเขา


ใช่ Maxthon จะไม่เคารพautocomplete=offแต่คุณสามารถบังคับให้ไม่เติมข้อความอัตโนมัติในฟิลด์ได้โดยการตั้งค่าismxfilled='0'
GTCrais

1

โซลูชันบางอย่างไม่ทำงานในเบราว์เซอร์รุ่นใหม่

ลิงค์โซลูชันอื่นได้รับที่นี่ ซึ่งใช้ได้กับเบราว์เซอร์สมัยใหม่ทั้งหมด

ประเภทอินพุต = รหัสผ่านอย่าให้เบราว์เซอร์จำรหัสผ่าน

คุณสามารถใช้การเติมข้อความอัตโนมัติ = "ปิด"ในโซลูตันที่กำหนดนี้


0

ในความเป็นจริงทั้งช่องชื่อผู้ใช้และรหัสผ่านจะไม่ตอบสนองต่อการทำให้สมบูรณ์อัตโนมัติ = ปิดในเบราว์เซอร์ล่าสุดทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.