这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要介绍了多种方法实现 360 浏览器下禁止自动填写用户名密码, 需要的朋友可以参考下
目前开发一个项目遇到一个很恶心的问题,本来在登陆界面输入用户名密码后登陆,选择记住密码后,在内容页里面的以及会把登陆界面输入的用户名密码填写在内容页里。而内容页是想建立新的子账户,这问题真叫一个恶心巴拉~~~
当然,在火狐,IE8 以上版本等高档次浏览器下不会出现这种情况。问题出在 360!不负众望,本菜鸟经过了以下的尝试:
第一种:把浏览器里的自动填写密码取消掉。
很遗憾,这玩意对 360 毫无反应,尼玛,第一种尝试失败!(当然,即便生效,作为一个开发者,不能让所有用户都采取这种操作!)
第二种:给 input 增加 autocomplete="off" 属性,让其不自动写入用户名和密码。
很遗憾,这玩意 360 也免疫,尼玛的尼玛!
第三种:通过 js 动态修改 input 的 type 属性:
这次 360 下直接把输入的密码显示出来了,也就是 onfocus 里面的没执行,打个短点执行以下,发现 jquery 报错了。出现 uncaught exception type property can't be changed 错误。很遗憾,IE 下不支持对 type 的修改。
第四种:既然硬来不行,那只能执行非常手段了,你不让我改,那我不改,我隐藏你,来个障眼法!
- $(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="请输入密码" />
大功告成!
来源: http://www.phperz.com/article/17/0718/275535.html