【问题标题】:Detecting whenever a form is checked out using chrome autofill每当使用 chrome 自动填充检出表单时检测
【发布时间】:2017-07-02 17:44:32
【问题描述】:

我的目标是每当我的客户使用 google chrome 的自动填充功能 (https://developers.google.com/web/updates/2015/06/checkout-faster-with-autofill) 填写表单时触发网络事件。

我相信这是不可能的,除非 google 提供了一个现成的插件/api,表明存在自动填充配置文件并且用户已选择填写他的表单。同行能否对此有所了解?

[编辑] 请注意,这种自动填充(通过 chrome)是用户触发的,而不是我们通常看到的浏览器所做的(如用户名/密码,在页面加载时发生)。因此,许多其他答案中规定的 java 脚本解决方案可能在这里不起作用。我的问题非常具体到 google chrome 维护的自动填充配置文件,以帮助人们更快地结帐表单。

【问题讨论】:

    标签: javascript html google-chrome autofill


    【解决方案1】:

    来自this article:

    解决方法

    底线是您的 JavaScript 代码不能依赖更改事件。 如果您的代码需要知道字段的值何时更改,则有两个 选择:

    1. 让一些 JavaScript 代码定期运行,检查所有字段的值,并在发现值已更改时调用更改处理程序。
    2. 通过在元素上添加 autocomplete="off" 来禁用自动完成。自 IE 5(1999 年 3 月)和 Netscape 6.2(2001 年 10 月)以来,浏览器一直支持这种技术,现在它已进入 HTML5。

    间隔解决方案(1)看起来很不错,因为HTML5中的安全间隔时间是4ms,参考this question。

    因此您可以假设在 4ms 内填充一个输入是手动填充,而填充多个是自动填充。

    【讨论】:

    • 我相信建议的解决方案仅在人工和自动填充数据之间进行分类。但是,它可能无法在 selenium 脚本填写表单时调用,而不是 chrome 自动填充(selenium 脚本可以具有惊人的表单填写速度)。只是想是否有一种特定的方式可以确保表单仅通过 chrome 自动填充功能自动填充。
    猜你喜欢
    • 2012-04-02
    • 2016-01-05
    • 2011-11-01
    • 2012-07-27
    • 2020-11-28
    • 1970-01-01
    相关资源
    最近更新 更多