如何阻止Firefox询问更新autocomplete="new-password"的托管密码?
解决Firefox自动弹出登录凭证更新提示的问题
问题场景
- 表单展示从服务器获取的外部API登录凭证,使用
type="password"字段隐藏内容以防止屏幕泄露 - 已授权Firefox保存当前网页的登录凭证
- 每次离开该表单页面,Firefox都会弹出“Update login for xxx? Update / Don't update”的更新提示
解决方案
可以通过以下几种编程方式抑制该提示:
1. 设置密码字段为只读并禁用自动补全
因为该字段仅用于展示而非编辑,添加readonly属性让浏览器识别这是不可修改的内容,同时搭配autocomplete="off"明确禁用自动补全逻辑:
<input type="password" name="external-api-pass" autocomplete="off" readonly>
2. 使用autocomplete="new-password"属性
若autocomplete="off"在Firefox中未生效,可尝试使用autocomplete="new-password"。该属性原本用于新密码设置场景,但部分浏览器会用它来跳过现有登录凭证的更新提示:
<input type="password" name="external-api-pass" autocomplete="new-password" readonly>
3. 避免将字段包裹在<form>标签内
如果仅需展示凭证而无需提交表单,不要把密码字段放在<form>标签中。浏览器通常只会对表单内的密码字段触发保存/更新提示。
内容的提问来源于stack exchange,提问作者Sebastian Riemer
相关产品推荐
相关产品推荐

