起因: 注冊(cè)頁(yè)面郵箱后有驗(yàn)證碼, 之后再有微信號(hào), 手機(jī)號(hào)之類, 再是密碼框. 在點(diǎn)擊提交表單時(shí), 瀏覽器會(huì)提示保存賬號(hào)密碼, 但是保存的卻不是郵箱和密碼, 而是面密碼框上一個(gè) input
框的內(nèi)容
解決思路(使用 firefox
瀏覽器測(cè)試):
禁止瀏覽器保存密碼
1.1 通過(guò)autocomplete=off
或new-complete
方法無(wú)效
1.2 使用onfocus="this.type='password'"
或onfocus="this.removeAttribute('readonly')"
無(wú)效
1.3 使用window.onload=function(){ document.getElementById('myid').value = '' }
無(wú)效
1.4 未測(cè)試 使用隱藏框來(lái)保存密碼, 而把顯示的密碼框type
設(shè)置為text
, 并通過(guò)js
來(lái)控制該用戶輸入框顯示為 圓點(diǎn)或星號(hào); 考慮到如果用戶輸入backspace
或delete
如何處理的問(wèn)題, 遂未進(jìn)行測(cè)試讓瀏覽器保存正確的郵箱賬號(hào)和密碼
在密碼框之前添加一個(gè)<input type="text" name="test" style="display:none">
框, 并讓該框的value
與email
框同步, 就能讓瀏覽器保存正確的賬號(hào)和密碼
ps: stackoverflow 上有人說(shuō): 最新的瀏覽器都已(大部分)禁用了
autocomplete=off
, 因?yàn)閺S商認(rèn)為這件事情應(yīng)該交給用戶而不是開(kāi)發(fā)者來(lái)解決