搜狗浏览器下 禁止浏览器自动填写用户名、密码
搜狗瀏覽器下,會(huì)出現(xiàn)把用戶設(shè)置記住密碼的表單(用戶名和密碼)亂放在,網(wǎng)站中其他成對(duì)出現(xiàn)的用戶名及密碼框中. 如何解決這種不負(fù)責(zé)任的可恨問(wèn)題,網(wǎng)上有很多方案,但最終都未果。
一、先把網(wǎng)上搜到的方案放下:
1.在input上使用autocomplete="off",但在有的瀏覽器上還是被記住了用戶名跟密碼。
2.大部分瀏覽器都是根據(jù)表單域的type="password"來(lái)判斷密碼域的,所以針對(duì)這種情況可以采取“動(dòng)態(tài)設(shè)置密碼域”的方法:
在搜狗瀏覽器貼樹(shù)皮一樣的控制下,依然不好使,確實(shí)一開(kāi)始加載頁(yè)面后是不會(huì)出現(xiàn)了,可一旦輸入框被點(diǎn)擊, 類型變成了密碼框后依然會(huì)馬上被填上不該屬于它的數(shù)據(jù)(作為輸入框,這也是一種可悲,同情 T_T……)
3.在onload事件,把密碼框的值清空,即:
window.load = function(){ document.getElementById('密碼域ID').value=''; };這要是好使早就用了,都不用上網(wǎng)查這么多,js也被無(wú)情的pass了
4.采用flash做登錄表單,這種情況瀏覽器也不會(huì)記錄表單信息。才疏學(xué)淺,flash我地不造,沒(méi)試驗(yàn)過(guò)是否有效。
5.這個(gè)比較麻煩,就是可以把type="password"改成type="text", 因?yàn)閠ype不是password就不會(huì)出現(xiàn)記住密碼功能,然后設(shè)置一個(gè)變量如:var val="" 或者是設(shè)置一個(gè)隱藏域<input type="hidden" name="val">, 最后用onpropertychange(ie)或oninput(其他)把密碼換成一行圓點(diǎn),并把值賦給val, 提交時(shí)再把val的值還原回去,由于效果和*號(hào)一樣。 用戶是看不出來(lái)的。這種方法有兩個(gè)難點(diǎn):
(1)蒼天啊大地啊,代表密碼的圓點(diǎn)打不出來(lái)啊鍵盤(pán)上找不到啊找不到……
(2)用來(lái)顯示的圓點(diǎn)個(gè)數(shù)怎么根據(jù)用戶的輸入動(dòng)態(tài)變化(請(qǐng)?jiān)徫覜](méi)多想),因?yàn)檫@兩個(gè)原因這個(gè)方法也對(duì)我天地?zé)o用
二、聰明才智絕頂?shù)奈?#xff08;純粹是個(gè)人的非分之想)想到了一個(gè)非常簡(jiǎn)單還能夠達(dá)到目的的方法:
在實(shí)驗(yàn)的過(guò)程中發(fā)現(xiàn)搜狗瀏覽器是通過(guò)記住表單域id的值來(lái)確定填寫(xiě)位置的,但各種取值不允許我去掉id這個(gè)神一樣鑲金邊的屬性, 所以我想他搜狗如果是按兩個(gè)相鄰的用戶名和密碼輸入框中自動(dòng)填值的話, 那我把這對(duì)鴛鴦中間插一腳讓用戶名框和中間后來(lái)的小三三密碼框成為一對(duì),把原來(lái)密碼框的id付給小三,再把那三貨隱藏了, 從此原配密碼框就擺脫了被填數(shù)據(jù)的煩惱(用戶名君也不會(huì)被賦值), 當(dāng)用戶輸入密碼時(shí)把值付給中間的密碼框,這樣通過(guò)id來(lái)取值的語(yǔ)句一點(diǎn)也不用變, 事實(shí)證明我是對(duì)滴,我在他倆中間加了個(gè)密碼輸入框付了id(還沒(méi)隱藏),搜狗馬上就老實(shí)了:
本來(lái)是這樣的: 加工之后: //新加個(gè)密碼框替代原來(lái)的,把id付給它 //原來(lái)的密碼框還是用戶真正接觸使用的,只是id沒(méi)有了,搜狗就不會(huì)給他填數(shù)據(jù)了還有一個(gè)方法不用這么麻煩,無(wú)意中發(fā)現(xiàn),只要在原來(lái)的密碼框后再加個(gè)密碼框再隱藏(這個(gè)密碼框不用加處理之類亂碼七糟的東西),也會(huì)解決問(wèn)題,不懂其中的科學(xué)原理,初步猜測(cè)是破壞了用戶名密碼倆一對(duì)的搭配形式,可是把簡(jiǎn)單的密碼框插到中間卻沒(méi)什么效果:
//后加個(gè)隱藏的密碼框破壞自動(dòng)填表符合的結(jié)構(gòu)總結(jié)
以上是生活随笔為你收集整理的搜狗浏览器下 禁止浏览器自动填写用户名、密码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux下的用户切换命令
- 下一篇: framework中编译anroid工程