完美解决谷歌浏览器自动填充问题
在谷歌浏览器中,登陆成功后,谷歌浏览器会提示是否记住密码。如果选择记住密码,那么再次登录会出现诸如下边情况:
如果产品需求是不希望浏览器自动填充账号密码,那么怎么去除呢?
最先想到的是设置input标签属性autocomplete="off",不起作用1,
然后试着设置css input:-webkit-autofill设置背景色为透明和设置相应的字体颜色,依然不尽人意2。
然后按照网上提供的一个办法,额外添加一个伪造的input元素,初始可见,然后文档加载完毕,再通过setTimeout把伪造的input为隐藏,
setTimeout设置的时间为1ms。不知道是自己实现的方式不对还是怎么地,依然不起作用3。
后来突然一个念头蹦出来,如果输入框在文档初始化不存在,然后在文档加载成功之后再注入到文档节点中,是否浏览器就不会自动填充了?
按照预想,不出所料,果然输入框不会再被填充,大功告成,哈哈哈
由于项目是基于vue,所以元素的后期插入相对来说很简单实现,代码如下:
<template> <div> <input v-if="isShow" type="text"> </div> </template> <script> export default { data(){ return { isShow:false } }, mounted(){ setTimeout(()=>{ this.isShow = true; },1) } } </script>
能工摹形,巧匠窃意。