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

时间:2015-04-21 19:52:32

标签: javascript html browser

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

来自the same questions的建议不再有效,因为浏览器chose不再支持此操作。我真的不想讨论是否应该这样,只是要求最简单的方法来欺骗浏览器不显示发送密码窗口。

2 个答案:

答案 0 :(得分:2)

和很多人一样,我过去常常使用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的浏览器。渐进式增强等等。

答案 1 :(得分:-1)

你应该使用自动完成属性

自动填充属性

autocomplete属性指定表单或输入字段是应该打开还是关闭自动完成。启用自动完成功能后,浏览器会根据用户之前输入的值自动完成值。

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

autocomplete属性适用于以下类型:text,search,url,tel,email,password,datepickers,range和color。



 <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> 
&#13;
&#13;
&#13;

如果显示密码保存对话框是否由浏览器决定