我在使用Chrome扩展程序时遇到了很多麻烦,我试图关闭所有不包含某个类的打开的标签页。
这是我想要做的一般想法,其中一些是伪代码。
//background.js
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.query(function(tabs) {
chrome.tabs.sendMessage(tabs, {"message": "clicked_browser_action"});
});
});
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if( request.message === "clicked_browser_action" ) {
for (var i = 0; i < request.length; i++) {
var existsClass = request[i].getElementByClass("someClass");
if (existClass === null) {
//TODO Close tab
}
}
}
}
);
任何帮助或建议都将不胜感激。
谢谢!
答案 0 :(得分:1)
我假设您的第二个代码段来自内容脚本。
在这种情况下,它就像window.close()
一样简单,因为您处于该选项卡的上下文中。无需Chrome API。
答案 1 :(得分:0)
试试这个:
0:00:00.258000
0:00:10.348000
0:00:10.556000
您不需要单独的内容脚本。