损坏的 Firefox 附加组件

Corrupt Firefox Add-on

我想创建一个 Firefox 附加组件,但根本无法实现。 我试图找到解决方案,但我发现没有任何用处。 Firefox 版本为 94.0(64 位)。

附加组件的结构:

manifest.json

{
   "manifest_version": 2,
   "name": "Popup",
   "version": "1.0",
   "content_scripts": [{ 
       "js": ["background.js"],
       "matches": [ "*://example/aaa/*", "*://examp.aaa.bb.cc/*"],
       "all_frames": true }],
    "permissions": ["tabs", "http://*/*", "https://*/*"],
    "icons": {
        "16": "icons/l16.png",
        "32": "icons/l32.png",
        "48": "icons/l48.png",
        "128": "icons/l128.png"}
}

background.js

//background.js
const apps = [
  ['AAA', 'https://example/aaa/'],
  ['BBB', 'http://examp.aaa.bb.cc/']
]

browser.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
  browser.tabs.query({ 'active': true, 'lastFocusedWindow': true, 'currentWindow': true }, 
  (tabs) => {
    let url = tabs[0].url;
    const i = apps.findIndex(u => url.includes(u[1]));
    if (i > -1 && !sessionStorage.getItem(url)) {
        sessionStorage.setItem(url, url);
        browser.tabs.update( tabs[0].id, { url: `http://popup.aaa.bb.cc?title=${apps[i][0]}`} ); 
    }   
  });
})

我从这个文件夹和两个文件创建了一个 zip,然后将其作为临时扩展上传,因为当我尝试将其作为普通附加组件上传时,Firefox 说它已损坏。 因此,临时扩展容器中上传的 add-n 会返回“错误:找不到配置文件目录”。 Chrome简单多了。

您的后台脚本need to be separated from your content scripts in the manifest

"background": {
  "scripts": [
    "background.js"
  ]
},
"content_scripts": [{
  "matches": ["*://example/aaa/*", "*://examp.aaa.bb.cc/*"],
  "js": [
    "content.js"
  ]
}],