Switch language
zh
Switch theme
Light

注册页面禁止浏览器保存账号及密码

起因: 注册页面邮箱后有验证码, 之后再有微信号, 手机号之类, 再是密码框. 在点击提交表单时, 浏览器会提示保存账号密码, 但是保存的却不是邮箱和密码, 而是面密码框上一个 input 框的内容

解决思路(使用 firefox 浏览器测试):

  1. 禁止浏览器保存密码 1.1 通过 autocomplete=offnew-complete 方法无效 1.2 使用 onfocus="this.type='password'"onfocus="this.removeAttribute('readonly')" 无效 1.3 使用 window.onload=function(){ document.getElementById('myid').value = '' } 无效 1.4 未测试 使用隐藏框来保存密码, 而把显示的密码框 type 设置为 text, 并通过 js 来控制该用户输入框显示为 圆点或星号; 考虑到如果用户输入 backspacedelete 如何处理的问题, 遂未进行测试

  2. 让浏览器保存正确的邮箱账号和密码 在密码框之前添加一个 <input type="text" name="test" style="display:none"> 框, 并让该框的 valueemail 框同步, 就能让浏览器保存正确的账号和密码

ps: stackoverflow 上有人说: 最新的浏览器都已(大部分)禁用了 autocomplete=off, 因为厂商认为这件事情应该交给用户而不是开发者来解决

🍀