多種方法實現(xiàn)360瀏覽器下禁止自動填寫用戶名密碼
更新時間:2014年06月16日 17:15:31 投稿:whsnow
這篇文章主要介紹了多種方法實現(xiàn)360瀏覽器下禁止自動填寫用戶名密碼,需要的朋友可以參考下
目前開發(fā)一個項目遇到一個很惡心的問題,本來在登陸界面輸入用戶名密碼后登陸,選擇記住密碼后,在內(nèi)容頁里面的<input type="text" id="userName" />以及<input type="password" id="password" />會把登陸界面輸入的用戶名密碼填寫在內(nèi)容頁里。而內(nèi)容頁是想建立新的子賬戶,這問題真叫一個惡心巴拉~~~
當然,在火狐,IE8以上版本等高檔次瀏覽器下不會出現(xiàn)這種情況。問題出在360!不負眾望,本菜鳥經(jīng)過了以下的嘗試:
第一種:把瀏覽器里的自動填寫密碼取消掉。
很遺憾,這玩意對360毫無反應,尼瑪,第一種嘗試失?。。ó斎?,即便生效,作為一個開發(fā)者,不能讓所有用戶都采取這種操作?。?
第二種:給input增加autocomplete="off"屬性,讓其不自動寫入用戶名和密碼。
很遺憾,這玩意360也免疫,尼瑪?shù)哪岈敚?
第三種:通過js動態(tài)修改input的type屬性:
<input type="text" id="password" onfocus="this.type='password'" />
這次360下直接把輸入的密碼顯示出來了,也就是onfocus里面的沒執(zhí)行,打個短點執(zhí)行以下,發(fā)現(xiàn)jquery報錯了。出現(xiàn) uncaught exception type property can't be changed 錯誤。很遺憾,IE下不支持對type的修改。
第四種:既然硬來不行,那只能執(zhí)行非常手段了,你不讓我改,那我不改,我隱藏你,來個障眼法!
$(function(){
$("#PWD").focus(function(){
$(this).hide();
$("#password").val("").show().css("backgroundColor","#fff").focus();
});
$("#password").blur(function(){
$(this).show().css("backgroundColor","#fff");
$("#PWD").hide();
});
$("#UN").focus(function(){
$(this).hide();
$("#userName").val("").show().css("backgroundColor","#fff").focus();
});
$("#userName").blur(function(){
$(this).show().css("backgroundColor","#fff");
$("#UN").hide();
});
});
注:把background-color設為#fff是因為360會默認給一個屎黃色的背景。
分別用一個id不為userName和password的輸入框,樣式設為一樣,當我們點擊假的input的時候,讓真正的顯示出來。
<input id="UN" maxlength="26" type="text" title="請輸入用戶名" />
<input id="userName" name="user.userName" maxlength="26" style="display:none;" type="text" title="請輸入用戶名" />
<input id="PWD" maxlength="20" type="text" title="請輸入密碼" />
<input id="password" name="user.password" maxlength="20" style="display:none;" type="password" title="請輸入密碼" />
大功告成!
當然,在火狐,IE8以上版本等高檔次瀏覽器下不會出現(xiàn)這種情況。問題出在360!不負眾望,本菜鳥經(jīng)過了以下的嘗試:
第一種:把瀏覽器里的自動填寫密碼取消掉。

很遺憾,這玩意對360毫無反應,尼瑪,第一種嘗試失?。。ó斎?,即便生效,作為一個開發(fā)者,不能讓所有用戶都采取這種操作?。?
第二種:給input增加autocomplete="off"屬性,讓其不自動寫入用戶名和密碼。
很遺憾,這玩意360也免疫,尼瑪?shù)哪岈敚?
第三種:通過js動態(tài)修改input的type屬性:
<input type="text" id="password" onfocus="this.type='password'" />
這次360下直接把輸入的密碼顯示出來了,也就是onfocus里面的沒執(zhí)行,打個短點執(zhí)行以下,發(fā)現(xiàn)jquery報錯了。出現(xiàn) uncaught exception type property can't be changed 錯誤。很遺憾,IE下不支持對type的修改。
第四種:既然硬來不行,那只能執(zhí)行非常手段了,你不讓我改,那我不改,我隱藏你,來個障眼法!
復制代碼 代碼如下:
$(function(){
$("#PWD").focus(function(){
$(this).hide();
$("#password").val("").show().css("backgroundColor","#fff").focus();
});
$("#password").blur(function(){
$(this).show().css("backgroundColor","#fff");
$("#PWD").hide();
});
$("#UN").focus(function(){
$(this).hide();
$("#userName").val("").show().css("backgroundColor","#fff").focus();
});
$("#userName").blur(function(){
$(this).show().css("backgroundColor","#fff");
$("#UN").hide();
});
});
注:把background-color設為#fff是因為360會默認給一個屎黃色的背景。
分別用一個id不為userName和password的輸入框,樣式設為一樣,當我們點擊假的input的時候,讓真正的顯示出來。
復制代碼 代碼如下:
<input id="UN" maxlength="26" type="text" title="請輸入用戶名" />
<input id="userName" name="user.userName" maxlength="26" style="display:none;" type="text" title="請輸入用戶名" />
<input id="PWD" maxlength="20" type="text" title="請輸入密碼" />
<input id="password" name="user.password" maxlength="20" style="display:none;" type="password" title="請輸入密碼" />
大功告成!
相關文章
jquery trigger函數(shù)執(zhí)行兩次的解決方法
這篇文章主要介紹了jquery trigger函數(shù)執(zhí)行兩次的解決方法,詳細分析了trigger函數(shù)執(zhí)行兩次的原因與響應的解決技巧,非常具有實用價值,需要的朋友可以參考下2016-02-02jquery層級選擇器的實現(xiàn)(匹配后代元素div)
下面小編就為大家?guī)硪黄猨query層級選擇器的實現(xiàn)(匹配后代元素div)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09jQuery實現(xiàn)判斷滾動條滾動到document底部的方法分析
這篇文章主要介紹了jQuery實現(xiàn)判斷滾動條滾動到document底部的方法,結合實例形式分析了jQuery事件響應及針對頁面元素屬性判斷的相關操作技巧,需要的朋友可以參考下2019-08-08jQuery在IE下使用未閉合的xml代碼創(chuàng)建元素時的Bug介紹
這個偏門Bug是我在更新phZoom 1.29后發(fā)現(xiàn)的, 我先將之重現(xiàn)一下2012-01-01