浏览器中的密码自动填充问题

时间:2017-07-31 10:30:40

标签: javascript jquery

我有一个带密码字段的登录页面。当用户在浏览器中保存密码时,它会在下次自动填充。我想在自动填充后获取该值。当前在文档准备好中检查时,该值为空。

$(document).ready(function () {
    if ($('#PasswordField').val() != "")
    {
         //TO DO
    }       
});

2 个答案:

答案 0 :(得分:0)

请注意,“更改”事件仅在元素失去焦点时触发,因此不适合捕获自动填充机器人的值。这应该工作:

pi

答案 1 :(得分:0)

浏览器中的密码自动填充问题

经过大量研究后,我可以说它完全 依赖于浏览器 。更改事件适用于某些浏览器,某些浏览器不会调度change事件。对此没有确切/相同的解决方案。

事情就是当浏览器预先填写用户名和密码字段时,因为在这种情况下,用户名和密码字段不会获得并失去焦点,这就是更改事件未被触发的原因。

以下代码适用于某些浏览器:

$(document).ready(function () {
 $("#password").change(function (argument) {
    console.log($("#password").val());
 });      
});

您也可以在$(document).ready()

中尝试此操作
    setTimeout(function(){
     console.log($("#password").val());
    },2000);

为了更好地了解此自动填充概念和浏览器兼容性,请阅读此short article