多种方法实现360浏览器下禁止自动填写用户名密码

目前开发一个项目遇到一个很恶心的问题,本来在登陆界面输入用户名密码后登陆,选择记住密码后,在内容页里面的<input type="text" id="userName" />以及<input type="password" id="password" />会把登陆界面输入的用户名密码填写在内容页里。而内容页是想建立新的子账户,这问题真叫一个恶心巴拉~~~

当然,在火狐,IE8以上版本等高档次浏览器下不会出现这种情况。问题出在360!不负众望,本菜鸟经过了以下的尝试:

第一种:把浏览器里的自动填写密码取消掉。

很遗憾,这玩意对360毫无反应,尼玛,第一种尝试失败!(当然,即便生效,作为一个开发者,不能让所有用户都采取这种操作!)

第二种:给input增加autocomplete="off"属性,让其不自动写入用户名和密码。

很遗憾,这玩意360也免疫,尼玛的尼玛!

第三种:通过js动态修改input的type属性:

<input type="text" id="password" onfocus="this.type='password'" />

这次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="请输入密码" />

大功告成!

(0)

相关推荐

  • 浅谈解决360兼容模式浏览器的方法

    一.renderer <meta name="renderer" content="webkit|ie-comp|ie-stand"> 为双核浏览器准备的:指定双核浏览器默认以何种方式渲染页面. <meta name="renderer" content="webkit">//默认webkit内核 <meta name="renderer" content="ie-c

  • 用js判断是否为360浏览器的实现代码

    以下代码在360安全浏览器5 和 6 版本中 可用 <script> var check360browser={ //如果是360 浏览器的话 "ok":function (){ //这里是判断360成功之后的代码 alert('js -> 360'); }, "try360SE":function (callback) { var ret = false, img = new Image(); img.src = 'res://360se.exe

  • 用Meta标签控制360浏览器默认极速模式打开自己的网站

    最近开发了一个网站,大量采用了html5和css3,希望用户都以webkit内核打开页面,但是测试却发现360的以ie内核打开为推荐模式,不知原因为何.其实360给网站开发者设计了一种选择的方法,只要加入一段Meta标签代码就可以解决. 在head标签中添加一行代码: <html> <head> <meta name="renderer" content="webkit|ie-comp|ie-stand"> </head&g

  • 设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码

    不用找了,我试过好多次,ie,火狐,谷歌浏览器此代码都是不可逆兼容. 下面是我的简单解决方案.想把这个问题完全解决,方法就是像其他主流网站一样专门建立添加为首页的操作步骤帮助页. js代码: 复制代码 代码如下: <script type="text/javascript"> // 设置为主页 function SetHome(obj,vrl){ try{ obj.style.behavior='url(#default#homepage)';obj.setHomePage

  • jQuery模拟360浏览器切屏效果幻灯片(附demo源码下载)

    本文实例讲述了jQuery模拟360浏览器切屏效果幻灯片,分享给大家供大家参考,具体如下: 运行效果截图如下: 点击此处查看在线演示效果. 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://w

  • 360浏览器文本框获得焦点后被android软键盘遮罩该怎么办

    场景是这样的,站点上筛选按钮点击后弹出层(fixed),当输入框获取焦点以后弹出系统自带的软键盘,在android上十款浏览器挨个测试比对,发现在360浏览器弹出键盘以后获取焦点的文本框被软键盘覆盖了. 截图如下 (未获取软键盘焦点的情况) (chrome浏览器调起软键盘的情况) (360浏览器调起软键盘情况) 那么问题来了,浏览器的软键盘显示出来又哪几种情况呢?英文   中文(网上找的) 经过简单的了解,大概分析了一下软键盘在浏览器上弹出应该包含软键盘占用主activity空间,让主activ

  • destoon在360浏览器下出现用户被强行注销的解决方法

    destoon用户在使用360浏览器时总是会自动退出,经查后发现是cookie丢失造成的,但丢失的原因众说不一! 对此的解决方法也不同,测试发现修改360浏览器的设置,或者IE的兼容性视图设置等均无效. 经验证后可行的解决方法如下: 增加 session 用来保存用户的auth信息 1.在 /module/member/member.class.php 的 364行增加以下代码: if(!is_object($session)) $session = new dsession(); $_SESS

  • JS判断是否360安全浏览器极速内核的方法

    本文实例讲述了JS判断是否360安全浏览器极速内核的方法.分享给大家供大家参考.具体分析如下: 360安全浏览器极速内核,在非360网站的navigator.userAgent是: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1",用的全是原生的谷歌浏览器的userAgent: 而360自己的网站的navigator.u

  • 分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html

    下面给大家分享了一段php代码,讲解将360浏览器导出的favdb的sqlite数据库文件转换为html,下面代码简单易懂,感兴趣的朋友看一下吧. php代码如下所示: <?php $book_mark_name = 'book_mark.html'; $content = file_get_contents('tb_fav.json'); var_dump($content); $content_list = json_decode($content,'utf-8'); $content_li

  • 多种方法实现360浏览器下禁止自动填写用户名密码

    目前开发一个项目遇到一个很恶心的问题,本来在登陆界面输入用户名密码后登陆,选择记住密码后,在内容页里面的<input type="text" id="userName" />以及<input type="password" id="password" />会把登陆界面输入的用户名密码填写在内容页里.而内容页是想建立新的子账户,这问题真叫一个恶心巴拉~~~ 当然,在火狐,IE8以上版本等高档次浏览器下不会

  • Python模拟登录的多种方法(四种)

    正文 方法一:直接使用已知的cookie访问 特点: 简单,但需要先在浏览器登录 原理: 简单地说,cookie保存在发起请求的客户端中,服务器利用cookie来区分不同的客户端.因为http是一种无状态的连接,当服务器一下子收到好几个请求时,是无法判断出哪些请求是同一个客户端发起的.而"访问登录后才能看到的页面"这一行为,恰恰需要客户端向服务器证明:"我是刚才登录过的那个客户端".于是就需要cookie来标识客户端的身份,以存储它的信息(如登录状态). 当然,这也

  • Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)

    一.准备工作: 安装pywin32,后面开发需要pywin32的支持,否则无法完成与windows层面相关的操作. pywin32的具体安装及注意事项: 1.整体开发环境: 基于windows7操作系统; 提前安装python(因为篇幅问题,在此不详细讲解python环境的安装,大家可以自备楼梯): 大家可以在cmd中测试下python环境是否安装好: 大家可以看到我电脑上已经安装好了Python,并显示版本与是V 3.6.2. 注:自己电脑上的Python版本号一定要知道,后面安装pywin3

  • IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法

    本文实例讲述了IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法.分享给大家供大家参考,具体如下: 经常我们用表单提交东西,在提交后,浏览器会自动记录你输入的东西,下次你再输入的时候,可以重新选择,但是如果你是用IE的话,这里有一个BUG, 其他浏览器没有这个问题.当然首先你得设置IE 浏览器选项是可以记录表单数据的,然后写一段代码来测试. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> &

  • JavaScript禁止微信浏览器下拉回弹效果

    本文实例为大家分享了JavaScript禁止微信浏览器下拉回弹的效果,供大家参考,具体内容如下 方法1: <script type="text/javascript"> var overscroll = function(el){ el.addEventListener('touchstart', function(){ var top = el.scrollTop; var totalScroll = el.scrollHeight; var currentScroll

  • Apache由http自动跳转到https的多种方法

    本文主要和大家分享Apache http自动跳转到https的几种方法,当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都重定向至HTTPS.这时候你可以用以下的方式来做到: 在启用了 https 之后,还要保证之前的 http 端口可以打开,http 的 80 端口是有两个网址的,所以这就导致需要把原来的带 wwww 和不带 www 的域名同时指定一个 https 网址上面,需要做两个 Apache 的301重定向,这个其实是很简单的,夏日博客的做法是直

  • 在Windows与Linux下禁止被ping的设置方法[推荐]

    LINUX下禁止ping命令的使用 以root进入Linux系统,然后编辑文件icmp_echo_ignore_allvi /proc/sys/net/ipv4/icmp_echo_ignore_all将其值改为1后为禁止PING将其值改为0后为解除禁止PING 直接修改会提示错误: WARNING: The file has been changed since reading it!!!Do you really want to write to it (y/n)?y"icmp_echo_i

  • JS判断Android、iOS或浏览器的多种方法(四种方法)

    第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端. 代码如下: <script type="text/javascript"> var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)?

  • JavaScript在多浏览器下for循环的使用方法

    一.前言 JavaScript语言在不同的浏览器的下有存在细微的差异,但不像DOM操作差异那么大,现在为大家列举出其中一个"for循环"的差异,并介绍如何有效的解决这种差异. 二.问题描述 在下面的 测试代码 例1 中IE6和Chrome输出的结果是不一致,IE6不执行for语句里的代码 复制代码 代码如下: //例1: alert("准备测试toString是否被for循环枚举出来") var forTest = { toString: 1 } for (i in

随机推荐