Chrome扩展程序:重定向后点击链接

时间:2014-03-21 12:34:04

标签: javascript google-chrome google-chrome-extension

我有Chrome扩展程序,可以点击任意链接并重定向到其他页面。 现在我要点击新页面上的第一个链接,我不知道如何。

这是我的代码:

chrome.extension.onRequest.addListener(function(request, sender) {
    chrome.tabs.update(sender.tab.id, {url: request.redirect}, function(callback){
        chrome.tabs.executeScript(null, {code: "var firstdiv = document.getElementsByClassName('r')[0]; var firstlink = firstdiv.getElementsByTagName('a')[0]; firstlink.click();"});
    });
});

当然,manifest.json中有一些权限:

"permissions": ["tabs", "http://*/*", "https://*/*"],

1 个答案:

答案 0 :(得分:0)

问题通过使用onUpdated侦听器和全局变量来解决,其中包含选项卡ID:

var tab_ids = [];

chrome.extension.onRequest.addListener(function(request, sender) {
    chrome.tabs.update(sender.tab.id, {url: request.redirect}, function(tab){
        tab_ids.push(tab.id);
    });
});

chrome.tabs.onUpdated.addListener(function(tabId, changeinfo, tab){
    var index_of_element = tab_ids.indexOf(tabId);
    if (index_of_element > -1){
        chrome.tabs.executeScript(tabId, {
            file: 'click.js'
        });
        tab_ids.splice(index_of_element, 1);
    }
});