javascript – 检测浏览器自动填充

如何判断浏览器是否已自动填充文本框?特别是用户名&密码框,自动填充页面加载。

我的第一个问题是,这是否发生在页面加载序列?是在document.ready之前还是之后?

其次,如何使用逻辑来确定是否发生了这种情况?它不是我想阻止这种情况发生,只是钩入事件。最好是这样:

if (autoFilled == true) {

} else {

}

如果可能,我很想看到一个jsfiddle显示你的答案。

可能重复

DOM event for browser password autofill?

Browser Autofill and Javascript triggered events

– 这些问题并没有真正解释什么事件被触发,他们只是不断地重新检查文本框(不利于性能!)。

问题是自动填充由不同的浏览器处理不同。一些分派change事件,一些不分派。因此,几乎不可能挂钩到浏览器自动填充输入字段时触发的事件。

>更改不同浏览器的事件触发器:

>对于用户名/密码字段:

> Firefox 4,IE 7和IE 8不调度change事件。
> Safari 5和Chrome 9会分派更改事件。

>对于其他表单字段:

> IE 7和IE 8不分派更改事件。
>当用户从建议列表中选择一个值并从该字段中选择标签时,Firefox 4会分派更改更改事件。
> Chrome 9不会调度更改事件。
> Safari 5会调度change事件。

您最好的选择是在表单中使用autocomplete =“off”禁用自动填充功能,或者定期轮询以查看其是否已填充。

对于你的问题,它是否填充或之前document.ready再次,它从浏览器,浏览器,甚至版本。仅当您选择用户名时输入用户名/密码字段密码字段已填写。所以,如果你试图附加到任何事件,你会有一个非常混乱的代码。

你可以有一个很好的阅读这个HERE

http://stackoverflow.com/questions/11708092/detecting-browser-autofill

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – 检测浏览器自动填充