芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
3

Webkit 下的模拟点击问题

作者 芒果/分类 代码/发布于 2012-06-18 17:16

这几天都在抢天猫的金砖,用火狐的 console 面板,通过 setInterval 定时执行点击模拟,大家都用的很爽。

document.getElementById("J_Lucky").click();

不过发现 Chrome 下并不奏效,后来发现以下问题:

  • input 和 button 可以使用 document.getElementById(“J_Lucky”).click(); 并且是全兼容的,支持触发通过 onclick/addEventListener/attachEvent 等形式绑定的事件
  • 除 webkit 引擎外,其他浏览器均支持非 input 和 button 元素的 .click() 事件
  • webkit 引擎不支持除 input 和 button 以外元素的点击模拟,需要通过 dispatch 方法实现
    function dispatch(c, b) {
        try {
            var a = document.createEvent("Event");
            a.initEvent(b, true, true);
            c.dispatchEvent(a)
        } catch (d) {
            alert(d)
        }
    }
    dispatch(document.getElementById("J_Lucky"), "click");

参考资料:http://www.cnblogs.com/snandy/archive/2011/07/31/2122516.html

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/webkit-click-dispatch/" title="Webkit 下的模拟点击问题" rel="bookmark">Webkit 下的模拟点击问题 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 3 条群众意见

  1. colorhook /2012-06-18 21:41

    最新版chrome19已经支持了,赶紧下 回应

    #1
  2. 芒果colorhook/2012-06-19 10:16

    刚测了最新 chrome,是已经支持了~ 回应

    #2
  3. 深圳珠宝 /2012-06-19 11:47

    没用过,不好说 回应

    #3

下面我简单说几句