检测浏览器自动填充:一个多方面的谜题
自动填充是一项方便的功能,它通过自动填充存储信息的字段来简化 Web 浏览。然而,识别浏览器何时自动填充文本框可能是一项复杂的工作。
基于事件的检测
挑战在于不一致的处理跨浏览器的自动填充事件。虽然某些浏览器会触发“更改”事件,但其他浏览器不会。因此,依赖特定事件进行检测变得不切实际。
浏览器变化
自动填充行为的差异超出了事件处理范围。对于用户名/密码字段,Firefox 4、IE 7 和 IE 8 不会调度“更改”事件,而 Safari 5 和 Chrome 9 则会调度。对于其他表单字段,IE 7 和 IE 8 再次避免触发事件,而 Chrome 9、Firefox 4 和 Safari 5 根据用户操作表现出不同的模式。
替代方法
鉴于不一致,出现了两种替代方法。第一个涉及使用表单中的“autocomplete=”off“”属性禁用自动填充。第二种需要定期轮询表单字段以确定是否已填写。
自动填充的时机
至于在页面加载顺序期间何时发生自动填充,则有所不同跨浏览器。对于用户名/密码字段,通常在用户选择值之前不会填充该字段。因此,尝试在“document.ready”之前挂钩事件可能并不总是能产生可靠的结果。
结论
检测浏览器自动填充是一个微妙的问题,没有明确的解决方案。浏览器表现出不同的行为,因此有必要考虑基于事件的检测和轮询的组合。了解特定于浏览器的细微差别并权衡每种方法的优缺点对于有效检测至关重要。
以上是我们如何可靠地检测不同浏览器的浏览器自动填充?的详细内容。更多信息请关注PHP中文网其他相关文章!