Chrome extension: Run on all google domains and a

2019-01-12 01:38发布

问题:

I want my content script to match all google domains, and a specific page. I know this is not possible.

Manifest.json

"content_scripts": [{
        "matches": [
           ,"*://www.google.*"
           ,"*://www.youtube.com/*"
           ,"*://readthedocs.org/*"]
       ,
       ....

Is there another way to do this? Just wanted to make sure before I list all domains Google has :)

回答1:

Listing all Google domains is not that difficult, because Google has published a list of all public Google domains at http://www.google.com/supported_domains. Prefix every item in this list with "*://* and add the ", suffix to every item. Then copy-paste the result to your manifest file.

An alternative option is to use the "include_globs" field (this is applied after "matches"):

{
    ....
    "content_scripts": [{
        "matches": [ "*://*/*" ],
        "include_globs": [
            "*://*.google.*/*",
            "*://*.youtube.com/*",
            "*://readthedocs.org/*"
        ],
        "js": [ "contentscript.js" ]
    }]
}

(I've replaced "*://www.google.com/*" with "*://*.google.com/*, because of subdomains like https://encrypted.google.com/)