使用JavaScript时,如何创建自动点击链接并在新标签中打开链接的代码?

时间:2014-05-28 23:37:33

标签: javascript

使用JavaScript时,如何创建自动点击2个链接并在新标签中打开的代码? 如果有像https://www.google.com/这样的链接,我该怎么做才能让代码在无限循环中每3分钟点击一次链接? 我只点击一个链接如何制作它以便将其更改为打开google.com和bing.com?     var i = 0;

function myLoop() {
    setTimeout(function () {
        window.open("http://www.google.com"); 
        i++;
        if (i < 20) { 
            myLoop(); 
        }
    }, 180000)
}

myLoop();

这是我的代码。 但是,它不起作用。

1 个答案:

答案 0 :(得分:-1)

根据您的问题,您似乎要搜索的是:

function myLoop() {
   window.open("http://www.google.com", "_blank"); 
}

window.setInterval(myLoop, 3*60*1000);

我建议您查看this MDN文档。

现在,关于你的代码,你犯了一些简单的错误,我相信在你阅读MDN文档(上面)之后会被清除,但为了以防万一,我会给你一些帮助:< / p>

var i = 0;

// your function sets a timeout
function myLoop() {

    // here
    setTimeout(function () {

        // and here it opens the link on the new tab, almost, you forgot the "_blank"
        window.open("http://www.google.com"); 

        i++;

        // but this code bellow also calls myLoop, which will set a timeout
        // again, as long as 'i' is lower than 20.
        if (i < 20) { 
            myLoop(); 
        }
    }, 180000)
}

// this code calls your function (obviously)
myLoop();

<强>更新

我错误地使用了window.setTimeout而不是window.setInterval。 请看我更新的答案。

通过查看您的代码,我认为您尝试实现的目标与window.setInterval实现的逻辑相同。

虽然window.setIntervalwindow.setTimeout看似相似,但第一个调用函数或重复执行代码片段,每次调用该函数之间都有固定的时间延迟, 而第二个,只在指定的时间延迟后调用一次。