2013-11-16 6 views
-1

У меня возникли проблемы с сценарием greasemonkey, который я пишу. Он имитирует несколько кликов на сайте tvmuse.eu, но он немного темпераментен.Задержка автоклика с greasemonkey

// ==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

Я склонен полагать, что это не столько задержка, но каждый раз, когда вы нажимаете предупреждение, оно считается событием, которое запускает вашу функцию. Можете ли вы поместить там $ .noop() или связать его с тем, что вы собираетесь делать в любом случае, например, переместить мышь или прокрутить колесо?

+0

Возможно, вам будет предоставлен пример или jsfiddle. – Popo

Смежные вопросы