今天在一个新项目中发现了一个小问题,表单登录验证成功后,浏览器的自动保存密码弹窗没有像往常一样弹出,查找了网上的一些情况和解决办法,各种情况都有,最终锁定了我这里问题的关键:网页被标记为不安全,提示会被屏蔽。
即这是非安全类型网页:也就是说网页被标记为不安全,提示会被屏蔽,因为此时是https协议,需要确保服务器端配置的证书是有效的,对于前端vue项目来说,可以在vue.config.js配置中更改此项配置,设置https为false,改完后重启项目,再次登录,保存密码弹窗成功展示。不过这只是本地调试可以使用的方法,生产环境中需要确保服务器配置了由受信任的证书颁发机构(CA)颁发的有效 SSL/TLS 证书。可以购买商业证书或使用免费的证书颁发机构如 Let's Encrypt 来获取合法证书,并正确配置到服务器上,便可解决这个问题。
更改后可正常弹出
另外还有其他几种情况会造成浏览器不触发保存密码弹窗
一,浏览器设置
浏览器记住密码功能未开启,打开设置,选择自动填充和密码-google密码填充工具-设置,再将‘提示保存密码和通行密钥’勾选上,便可自动填充。
二,代码中缺少password标识, type="text" , input:type="password", input:type="submit"这几个需要标识清楚,并且autocomplete属性切勿设置为off