使用greasemonkey自动延迟延迟

时间:2013-11-16 12:37:08

标签: javascript greasemonkey

我正在写一个关于我正在编写的关键字脚本的麻烦。它模拟了tvmuse.eu网站上的几次点击,但是有点气质。

// ==UserScript==
// @name     autoclicker
// @include  *.tvmuse.eu/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant    GM_addStyle
// ==/UserScript==

function triggerMouseEvent (node, eventType) {
    var clickEvent = document.createEvent('MouseEvents');
    clickEvent.initEvent (eventType, true, true);
    node.dispatchEvent (clickEvent);
}

var TargetLinks = $("a:contains('Click here to show.')")

for(var i=0; i < TargetLinks.length; i++){
    //alert(i);
    triggerMouseEvent(TargetLinks[i], "click");
}

这意味着点击页面上的所有“点击此处显示”链接。如果循环中的警报被取消注释,那么它将舔每个链接,但是如果它被评论则它不起作用。我认为这是因为用户接受警报所引起的延迟,但是当我尝试使用“setTimeout”添加延迟时,它没有任何区别。

可以测试的示例页面 http://www.tvmuse.eu/tv-shows/The-Legend-of-Korra_31565/season_2/episode_11/

很抱歉,如果之前有人问过这个问题,但我看得很好,找不到解决问题的方法。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

我倾向于认为这不是延迟,但每次点击警报时,它都会将其视为触发您的功能的事件。你可以在那里放一个$ .noop(),或者将它链接到你要做的事情,比如移动鼠标或滚动滚轮?