我有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://*/*"],
答案 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);
}
});