避免360浏览器极速模式自动填充表单

问题

在表单里面有API密钥和证书密钥两个字段,刚好一个type=text,一个type=password,360以为是登录用户名和密码字段,进行了自动填充,如下所示:
在这里插入图片描述

解决方案

网上解决方案有很多,有的可行,有的不行。我试了好几种,现记录下成功的这一种。方法就是:将被自动填充的type=text那一个input的readonly设置为true,然后页面初始化的时候,延时一小段时间,再将其设置为false即可。原理就是设置为readonly的元素,360是无法将其自动填充的。
下面附上参考示例:

<td>商户名称:</td>
<td><input readonly=true id="merchantName" type="text" name="merchantName"/>
$(function(){
  disableAutoComplete('#merchantName');
})

function disableAutocomplete(id){
     if($(id).attr('readonly') !== 'readonly' && $(id).attr('readonly') !== true && $(id).attr('readonly') !== 'true'){
         $(id).attr('readonly',true);
     }

     setTimeout(function () {
        $(id).attr('readonly',false);
     },500)
}
发布了379 篇原创文章 · 获赞 85 · 访问量 59万+

猜你喜欢

转载自blog.csdn.net/GAMEloft9/article/details/103274805
今日推荐