資料來源
這次以Edge作為例子,Chrome其實也差不多
Edge擴展應用資料:https://docs.microsoft.com/zh-cn/microsoft-edge/extensions-chromium
用到的瀏覽器Api資料:
https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage
https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendNativeMessage
擴展應用的文件結構

擴展應用也有一個前后之分,類似於前后端一樣
background目錄:用於存放后台js,從瀏覽器打開加載插件后,一直保持單例運行
content-scripts目錄:用於存放前台js,瀏覽器每個選項卡都是單獨加載
lib目錄:放一些庫,如常用的jquery、bootstrap之類的
minfest.json:擴展應用的配置文件,也是核心
完整結構的資料:https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json
我們只挑需要用到的
{
"name": "test",
"version": "1.0.0",
"manifest_version": 2,
"description": "test",
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["content-scripts/content.js", "lib/jquery-3.6.0.min.js"],
"all_frames": true
}],
"background": {
"scripts": ["background/background.js"]
},
"permissions": [
"nativeMessaging",
"contextMenus",
"tabs",
"*://*/*"
]
}
