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

标签 javascript html browser

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

the的建议same questions自浏览器 chose 起不再工作不再支持这个了。我真的不想讨论是否应该如此,只是询问最简单的方法来欺骗浏览器不显示发送密码窗口。

最佳答案

像许多人一样,我多年来一直使用 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 的浏览器中运行良好。渐进增强等等。

关于javascript - 如何禁用浏览器保存密码功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29781848/

相关文章:

javascript - 下划线模板不在主干中呈现

javascript - 将 URL 值缩短为 Javascript 变量

emacs - 是否有可以在 emacs 内部使用的图形网络浏览器?

javascript - 如何使我的 Canvas 区域适合 iphone 浏览器?

javascript - 使用 Adob​​e AIR 在最大屏幕上显示窗口

php - HTML Editable P 更新 MySQL DB

html - iframe 仅显示网站的特定部分而不滚动

javascript - 添加新Fieldset时如何保留之前输入的内容

javascript - React 应用程序不会在应用程序浏览器的 Facebook 中呈现

javascript - 设置 AudioContext 输入