怎么禁止自动填充浏览器记住的密码(新的玩法)?

本文探讨了在处理敏感数据如手机号验证时,如何防止浏览器自动填充密码的问题。介绍了两种解决方案:一种是利用JavaScript在聚焦时改变input类型,但仅限于首次使用有效;另一种是通过CSS的text-security属性来隐藏输入内容,但可能在Firefox上不适用,并提供了相应的适配代码。这两种方法可以帮助开发者应对浏览器不断升级带来的自动填充挑战。
摘要由CSDN通过智能技术生成

用户在操作敏感数据比如更换手机号码的时候需要验证是本人,但是使用input的password浏览器很恶心的缠上你,不管你怎么耍花招只要type有一次被改过password就甩不掉下拉填充框。
前几年这个属性就管用:autocomplete=‘off’
近几年他管用:autocomplete=“new-password”
但是浏览器也在不断升级不管你怎么弄他都可以填充。

方案一:

但是有个巧妙的套路,一直都可以使用:

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

但是这个方法只在第一次使用有效。

方案二:

下面我们用css3的新属性解决方案。
将您的密码字段设置为普通文本字段,并使用CSS使用“ discs”屏蔽您的输入。该代码应如下所示:

<input type="text" class="myPassword" /> 

input.myPassword{
    text-security:disc;
    -webkit-text-security:disc;
    -mox-text-security:disc;
}

请注意,这可能无法在Firefox浏览器上正常工作,并且需要使用下面解决方法:

window.onload = function() {
    init(); 
}

function init() {
     var x = document.querySelector(".myPassword");
    var style = window.getComputedStyle(x);
    console.log(style);

    if (style.webkitTextSecurity) {
        // Do nothing
    } else {
        x.setAttribute("type", "password");
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_34701838

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值