作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,登录浏览器时要求我保存密码。为了防止我使用 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/
我是一名优秀的程序员,十分优秀!