以下是我的代码:
chrome.tabs.onCreated.addListener(abcdefg);
chrome.tabs.onUpdated.addListener(function(tabId, info, tab, n) {
if (info.status == 'complete') abcdefg(tab);
});
function abcdefg(tab) {
var tabUrl = tab.url;
if(n.url.indexOf("http://domain.com")>0&&n.url.indexOf("/page")<0) {
chrome.tabs.insertCSS(tabId, {code: "body{display:none!important;}"});
}
}
我做了身体显示:没有,所以我可以很容易地看到它是否正常工作。好吧它不起作用。我做错了什么,我该如何解决?
答案 0 :(得分:0)
首先,您并不需要onCreated
的监听器,因为无论如何都会在所有情况下触发onUpdated
,tab.url
可能在{onCreated
中未定义1}}回调导致错误。所以我们只需将其修剪为onUpdated
。像这样:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
if(tab.url && tab.url.indexOf('http://www.domain.com') > -1){
chrome.tabs.insertCSS(tabId, {code: "body{display:none!important;}"});
}
});
在写出来的时候,我意识到你的问题是检查索引是否大于0
。如果要检查是否存在从字符串开头开始的子字符串,则索引将始终为0,因此要么检查它是>= 0
还是> -1
,因为-1是什么在找不到字符串时返回。