我正在尝试根据用户当前所在的页面网址来更改chrome扩展程序的图标。当我打开多个选项卡时,发现的其他答案无效。
目前,我可以通过执行以下操作来实现所需的功能:
chrome.runtime.onInstalled.addListener(function() {
chrome.storage.sync.set({color: '#3aa757'}, function() {
console.log('hello world');
});
var rule1 = {
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostEquals: 'xxxx.com'},
})
],
actions: [ new chrome.declarativeContent.ShowPageAction() ]
};
var rule2 = {
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostEquals: 'xxxx.com'},
})
],
actions: [ new chrome.declarativeContent.ShowPageAction() ]
};
var rule3 = {
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: { hostEquals: 'xxxx.com'},
})
],
actions: [ new chrome.declarativeContent.ShowPageAction() ]
};
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
chrome.declarativeContent.onPageChanged.addRules([rule1, rule2, rule3]);
});
});
但是,似乎超级混乱,并且似乎应该有一种更简单的方法。
如果我尝试向pageUrl
添加或逻辑,它将仅适用于第一个条件语句。