我想在找到匹配项后立即将运行扩展程序的选项卡带到我的窗口前面,即使我目前正在第二个窗口中工作。
到目前为止,我的content_script.js中有这段代码,但它似乎不起作用。注释行是我最后一次失败的尝试。
警报给了我-1,这似乎是很奇怪的标签 ID。
if(output == 'found') {
sendResponse({findresult: "yes"});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
//chrome.tabs.update(sender.tab.id, {selected: true});
//chrome.tabs.update(sender.tab.id, {active: true});
alert(sender.tab.id);
});
}
我也在background.html中尝试了一些东西,并且已经在这里发布了各种东西,但都没有运气。
我需要做什么才能完成这项工作?
编辑
manifest.json脚本包含
"background": {
"scripts": ["background.js"]
},
"content_scripts": [ {
"all_frames": false,
"js": [ "jquery.js", "content_script.js" ],
"matches": [ "http://*/*", "https://*/*" ],
"run_at": "document_idle"
}
background.js(警报甚至不会出现)
alert("here");
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
your_tab_Id = sender.tab.id);
});
chrome.tabs.update(your_tab_Id,{"active":true,"highlighted":true},function (tab){
console.log("Completed updating tab .." + JSON.stringify(tab));
});
content_script.js jQuery 更改背景(sendResponse 有效,但如果我激活背景更改行,脚本将停止工作)
if(found === true) {
//$('td:contains('+foundItem+')').css("background", "greenyellow");
sendResponse({findresult: "yes"});
}
EDIT 2 扩展下载