损坏的 Firefox 附加组件
Corrupt Firefox Add-on
我想创建一个 Firefox 附加组件,但根本无法实现。
我试图找到解决方案,但我发现没有任何用处。
Firefox 版本为 94.0(64 位)。
附加组件的结构:
- 图标文件夹
- l16.png
- l32.png
- l48.png
- l128.png
- background.js
- manifest.json
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"
]
}],
我想创建一个 Firefox 附加组件,但根本无法实现。 我试图找到解决方案,但我发现没有任何用处。 Firefox 版本为 94.0(64 位)。
附加组件的结构:
- 图标文件夹
- l16.png
- l32.png
- l48.png
- l128.png
- background.js
- manifest.json
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"
]
}],