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!