Javascript 带greasemonkey的自动单击延迟

Javascript 带greasemonkey的自动单击延迟,javascript,greasemonkey,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

我在写一个油腻的剧本时遇到了一些麻烦。它模拟了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");
}
/==UserScript==
//@name自动剪辑器
//@include*.tvmuse.eu/*
//@需要http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
//@grant GM_addStyle
//==/UserScript==
函数triggerMouseEvent(节点,事件类型){
var clickEvent=document.createEvent('MouseEvents');
单击event.initEvent(eventType,true,true);
node.dispatchEvent(点击事件);
}
var TargetLinks=$(“a:contains('单击此处显示'))
对于(var i=0;i
这意味着点击页面上的所有“点击此处显示”链接。如果循环中的警报未注释,那么它将舔掉每个链接,但是如果它被注释,它将不起作用。我假设这是因为接受警报的用户增加了延迟,但当我尝试使用“setTimeout”添加延迟时,这没有什么区别

可以在上面测试的示例页面将是

很抱歉,如果以前有人问过这个问题,但我仔细看了一下,找不到解决问题的有效方法


任何帮助都将不胜感激。

我倾向于相信延迟并不重要,但每次单击警报时,都会将其视为触发功能的事件。您是否可以在其中放置一个$.noop(),或者将其链接到您无论如何都要执行的操作,例如移动鼠标或滚动滚轮?

也许提供一个示例或JSFIDLE会有所帮助。