如何为某些网站禁用Chrome扩展程序?

时间:2019-08-19 13:45:50

标签: javascript google-chrome google-chrome-extension

我有一个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扩展程序的最佳方法是什么?还是失败了,不将扩展内容脚本注入排除的主机中?

0 个答案:

没有答案
相关问题