以下情况下会自动填充用户和密码信息:
1、在用户和密码包含在form的情况下,同时包含一个 type="text"和 type="password"元素且不包含readonly和disabled属性,两个元素可以没有name和id属性
2、在没有form的情况下,同时包含一个 type="text"和 type="password"元素且不包含readonly和disabled属性,且两个元素至少都有name或id属性(但name和id可以是任意值但不能是空或空格)。
规避以上情况可以实现禁止自动填充西账号密码
登录或者注册浏览器会提示是否记住密码
当浏览器记住密码后,之后的每次登录/注册都会自动填充输入框
默认的解决方案是在form与input上添加autocomplete=“off”,但是在很多浏览器上不起作用
网上也提供了好多方案,比如在最前面放一个隐藏的input标签或者是把autocomplete设置为new-password,浏览器调试工具测试后具不起作用啊,有木有
(在chrome上测试了一下隐藏的type=text的input放在正常input的后面,而password放到前面)
比较可信的有两种方案
第一:
默认设置input为readonly onfouces的时候去掉这个属性,onblur的时候加上这个属性
第二:
现在页面显示一个假的输入框,当这个输入框foucus的时候,把真的输入框替换上去,当失去焦点的时候再替换回来,这样即使浏览器要记住密码也不会在输入框上留下痕迹