javascript - 如何将调整后的密码保存到浏览器?

标签 javascript jquery passwords

在我的应用程序中,登录浏览器时要求我保存密码。 为了防止我使用 html 标签 autocomplete = "off"并且它不适用于某些浏览器。

为了更安全 - 如果浏览器要求保存密码,则应在浏览器中保存密码时更改密码。

对于点击登录时,我从字段中获取密码,然后使用 javascript 将密码更改为虚拟密码。

代码:

function onLoginClick(){
       var passStr = $("#myPassword").val();
       $("#myPassword").val('dummyPassword');
}

但是在保存密码时,浏览器获取的是实际密码而不是虚拟密码。

最佳答案

我相信 Chrome 会跟踪每个输入的最后一个用户输入值。所以,简单地换掉它并不会覆盖它。您可能想要做的是调用监听 submit 事件,并在您的处理程序中调用该事件的 preventDefault 函数。我不确定每个浏览器到底在寻找什么来触发“要保存此密码?”对话框,但我知道在提交标记中导航离开就是其中之一。您是否尝试过以下方式:

<form>
    <input name="username">
    <input type="password" name="textPass">
    <input type="hidden" name="hiddenPass">
</form>

与 js:

form.addEventListener('submit', function(e){
    if(hiddenPass.value.length === 0) {
        e.preventDefault();
        hiddenPass.value = textPass.value;
        textPass.value = '';
        window.setTimeout(function(){
            form.submit();
        });
    }
});

或者一个不可见的密码字段呢?:

<input type="password" name="password" value="" style="display: none;">
<input type="password" name="realPassword">

关于javascript - 如何将调整后的密码保存到浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36976956/

相关文章:

javascript - 加载前在 Iframe 中附加用户名?

javascript - 拦截 Jquery AJAX 请求以插入其他变量?

Android - 解压缩密码编码的 zip 文件

asp.net - Orchard : what is currently the optimal method for password storage?

javascript - 将 JavaScript new Date() 转换为 php DateTime()

javascript - 如何将此函数调用移出我的 HTML 代码

jquery - 如何隐藏特定日期选择器jquery UI的日历

javascript - jQuery 在一个元素中加载多个 html 文件

security - 密码不是一种通过默默无闻的安全形式吗?

javascript - 处理表单时使用 AJAX 未捕获 TypeError