如何使滑脂猴子在新选项卡中一个接一个地打开很多链接? [英] How to make greasemonkey open lots of links, in new tabs, one by one?

查看:91
本文介绍了如何使滑脂猴子在新选项卡中一个接一个地打开很多链接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

> <td><a href="http://Lucifase.com/pages/2000.php?refid=2000"
> target="_blank">2000</a><br></td> <td><a
> href="http://Lucifase.com/pages/3000.php?refid=3000"
> target="_blank">3000</a><br></td> <td><a
> href="http://Lucifase.com/pages/4000.php?refid=4000"
> target="_blank">4000</a><br></td> <td><a
> href="http://Lucifase.com/pages/5000.php?refid=5000"
> target="_blank">5000</a><br></td> <td><a
> href="http://Lucifase.com/pages/6000.php?refid=6000"
> target="_blank">6000</a><br></td>


我第一步停止了.我无法通过脚本触发器打开它们中的每一个.这是我到目前为止的内容:

 setTimeout(function() {
    var evt = document.createEvent("MouseEvents");
    evt.initMouseEvent("click", true, true, window,
                       0, 0, 0, 0, 0,
                       false, false, false, false,
                       0, null);
 var links = document.getElementsByTagName('a');
             if(links.href.search('refid') >= 0)

    links.dispatchEvent(evt);
 }, 1000);


但是它不起作用,也不知道如何使它们在新选项卡中一个接一个地打开.


But it doesn't work,also don't know how to make them open in new tab one by one.

推荐答案

您一一指的是什么?看来一次单击"所有链接是可以的吗?

What do you mean one by one? It appears that "clicking" all of the links at once is okay?

有时必须使用链接,只需遵循href而不是尝试发送click事件.以下代码应仅打开所需的选项卡:

With links, must of the time, just follow the href instead of trying to send a click event. The following code should open just the tabs you want:

var linksToOpen = document.querySelectorAll ("td > a[href*='refid']");
for (var J = 0, numLinks = linksToOpen.length;  J < numLinks;  ++J) {
    window.open (linksToOpen[J].href, '_blank');
}



更新以澄清操作说明:
打开每个链接之间的延迟会稍微复杂一些.像这样的代码可以做到:



Update for OP clarification:
To open the links with a delay between each one is slightly more complicated. Code like this will do it:

var linksToOpen = document.querySelectorAll ("td > a[href*='refid']");

//--- linksToOpen is a NodeList, we want an array of links...
var linksArray  = [];
for (var J = 0, numLinks = linksToOpen.length;  J < numLinks;  ++J) {
    linksArray.push (linksToOpen[J].href);
}

openLinksOnDelay (linksArray);

function openLinksOnDelay (linkArray) {
    //--- Pop the first link off the array...
    var linkToOpen  = linkArray.shift ();
    if (linkToOpen)
        window.open (linkToOpen, '_blank');

    //--- Open the next of the remaining links after a delay.
    if (linkArray.length) {
        setTimeout ( function() {
                openLinksOnDelay (linkArray);
            },
            1000    //--- 1 second.  Use 60000 for 1 minute.
        );
    }
}

这篇关于如何使滑脂猴子在新选项卡中一个接一个地打开很多链接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆