我有一个chrome扩展程序,它使用浏览器操作,因为我希望它在所有站点上运行,第1条(匹配“ .pannus。”,这是一个内部开发站点)。
我不知道如何实现此目标,我尝试在PageStateMatcher中使用清单和正则表达式。
manifest.json
{
"name": "...",
"description": "...",
"version": "0.0.2",
"permissions": ["contextMenus", "declarativeContent"],
"background": {
"persistent": false,
"scripts": ["background.js"]
},
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["content.js"],
"css": [ "style.css" ]
}],
"browser_action": {
"default_icon": {
...
}
},
"icons": {
...
},
"manifest_version": 2
}
如果我在此处添加"exclude_matches": ["*://*.pannus.*"],
,则会收到错误消息:
Invalid value for 'content_scripts[0].exclude_matches[0]': Empty path.
我也尝试过:
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
chrome.declarativeContent.onPageChanged.addRules([{
conditions: [
new chrome.declarativeContent.PageStateMatcher({
pageUrl: {
schemes: ['https', 'http'],
urlMatches: '^((?!.pannus.).)*$'
},
})
],
actions: [new chrome.declarativeContent.ShowPageAction()]
}]);
});
但是我得到了错误:
Could not parse regular expression '^((?!.pannus.).)*$': invalid perl operator: (?!
在某些网站上禁用我的Chrome扩展程序的最佳方法是什么?还是失败了,不将扩展内容脚本注入排除的主机中?