如何禁用浏览器保存密码功能



如何禁用浏览器保存密码功能?

来自相同问题的建议不再有效,因为浏览器选择不再支持这一点。我真的不想讨论是否应该是这种情况,只是想知道最简单的方法来欺骗浏览器不显示发送密码窗口。

和许多人一样,我多年来一直使用autocomplete=off技巧。不幸的是,现在浏览器不再支持该属性,我不得不想出其他办法。以下是jQuery中一个有效的解决方案:

$(function() {
$('input[type=password]').each(function() {
$(this).attr('data-background-color', $(this).css('background-color'));
$(this).css('background-color', $(this).css('color'));
$(this).attr('type', 'text');
$(this).focus(function() {
$(this).attr('type', 'password');
$(this).css('background-color', $(this).attr('data-background-color'));
});
$(this).blur(function() {
$(this).css('background-color', $(this).css('color'));
$(this).attr('type', 'text');
});
});
});

它不会停止自动完成,这是更改为自动完成的目的,但它会从一开始就阻止密码存储管理器检测密码字段。

它的工作原理:它在页面加载完成后获取文本字段的背景色,并将其丢弃(数据背景色)。然后,它将背景颜色设置为文本颜色,并将输入类型更改为"文本"。聚焦时,字段将恢复到以前的状态(密码字段为原始背景色)。在模糊时,字段背景颜色和类型将再次交换。提交表单时,它只是一个文本字段。在提交表格时,您可以获得密码字段的所有好处(例如,无需复制),而无需密码管理器。

注意:如果文本本身有特殊效果,它可能无法正常工作。它还有一些小的键盘插入符号焦点问题,单击字段会导致插入符号跳到文本的开头,而不是单击发生的位置。

从好的方面来说,它在禁用Javascript的浏览器中运行得很好。渐进增强等等。

您应该使用自动完成属性

自动完成属性

autocomplete属性指定窗体或输入字段应打开还是关闭autocomplete。打开autocomplete时,浏览器会根据用户以前输入的值自动完成值。

提示:可以为表单自动完成"on",为特定输入字段自动完成"off",反之亦然。

自动完成属性适用于以下类型:文本、搜索、url、电话、电子邮件、密码、日期选择器、范围和颜色。

<form action="action_page.php" autocomplete="off">
First name:<input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
E-mail: <input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>

是否显示密码保存对话框取决于浏览器是否尊重

最新更新