Jak získat informace o manifestu rozšíření

Práce na webovém rozšíření může být docela divoká – na jedné straně v podstatě jen kódujete web, na druhé straně jste omezeni na to, co prohlížeč říká, že můžete dělat v prostředí spouštění rozšíření. Jedna změna v tomto prostředí přichází v lednu 2023 – tlačí rozšíření k přechodu na verzi manifestu 3. Nedávno mě zajímalo, zda aktualizaci verze 3 dokončila i jiná populární rozšíření.

Provedením následujícího příkazu na stránce na pozadí (manifest verze 2) nebo servisním pracovníkem (verze 3) získáte manifest rozšíření:

chrome.runtime.getManifest()

getManifest call vrátí velký objekt s podrobnostmi o manifestu rozšíření. Zde je to, co byste viděli pro rozšíření prohlížeče MetaMask:

{
    "author": "https://metamask.io",
    "background": {
        "page": "background.html",
        "persistent": true
    },
    "browser_action": {
        "default_icon": {
            "16": "images/icon-16.png",
            "19": "images/icon-19.png",
            "32": "images/icon-32.png",
            "38": "images/icon-38.png",
            "64": "images/icon-64.png",
        },
        "default_popup": "popup.html",
        "default_title": "MetaMask"
    },
    "commands": {
        "_execute_browser_action": {
            "suggested_key": {
                "chromeos": "Alt+Shift+M",
                "linux": "Alt+Shift+M",
                "mac": "Alt+Shift+M",
                "windows": "Alt+Shift+M"
            }
        }
    },
    "content_scripts": [
        {
            "all_frames": true,
            "js": [
                "disable-console.js",
                "globalthis.js",
                "lockdown-install.js",
                "lockdown-run.js",
                "lockdown-more.js",
                "contentscript.js"
            ],
            "matches": [
                "file://*/*",
                "http://*/*",
                "https://*/*"
            ],
            "run_at": "document_start"
        }
    ],
    "current_locale": "en_US",
    "default_locale": "en",
    "description": "An Ethereum Wallet in your Browser",
    "externally_connectable": {
        "ids": [
            "*"
        ],
        "matches": [
            "https://metamask.io/*"
        ]
    },
    "icons": {
        "16": "images/icon-16.png",
        "19": "images/icon-19.png",
        "32": "images/icon-32.png",
        "38": "images/icon-38.png",
        "48": "images/icon-48.png",
        "64": "images/icon-64.png",
    },
    "manifest_version": 2,
    "minimum_chrome_version": "66",
    "name": "MetaMask",
    "permissions": [
        "storage",
        "unlimitedStorage",
        "clipboardWrite",
        "http://localhost:8545/",
        "https://*.infura.io/",
        "https://lattice.gridplus.io/*",
        "activeTab",
        "webRequest",
        "*://*.eth/",
        "notifications"
    ],
    "short_name": "MetaMask",
    "update_url": "https://clients2.google.com/service/update2/crx",
    "version": "10.16.1"
}

Mnoho webových rozšíření stále používá manifest verze 2, takže mnoho vývojářů rozšíření tlačí na dokončení práce s manifestem verze 3!