這是本文件的舊版!


Autocompletion problem on Firefox or Chrome

Problem

瀏覽器提供自動輸入的功能,如果是在登入畫面,就非常方便。如果是在修改資料的地方,就不一定這麼方便了。舉例來說,像新增使用者的功能,使用者預期的帳號密碼應該是空的,但瀏覽器卻會幫你填入它所記載的帳號密碼。

How to?

網路上提供的作法不乏是加入autocomplete=“off”,

<input type="text" autocomplete="off" name="name"/>
<input type="password" autocomplete="off" name="password"/>
根據參考1與我測試結果(Firefox 16.0),會有兩種可能:

  1. 阻止瀏覽器記錄表單欄位內容,對相似表單提供自動完成功能。
  2. 阻止瀏覽器從Session內容記錄表單內容,對相同頁面提供自動完成功能。

而在記錄完成後,有加入autocomplete=“off”的表單或欄位,就不會自動完成。然而這個作法,根據參考一與自行在Firefox 42.0上測試,並不適用於Firefox(since version 38)、Google Chrome (since 34)與Internet Explorer (since version 11)。後來試驗參考2的做法,只要加入隱藏的password input,就可以避免瀏覽器將帳號密碼填到你不想出現的地方。

<input type="text" autocomplete="off" name="name"/>
<input type="password" style="display: none"/>
<input type="password" autocomplete="off" name="password"/>

Reference