我想创建简单的Mozilla附加使用外部JS文件;Mozilla的JetPack无效的文件名
文件夹&文件
/var/www/html/add-ons/hello
/var/www/html/add-ons/hello/index.js
/var/www/html/add-ons/hello/package.json
/var/www/html/add-ons/hello/script/data/test.js
/var/www/html/add-ons/hello/index.js
// Import the page-mod API
var pageMod = require("sdk/page-mod");
// Create a page-mod
pageMod.PageMod({
include : "*",
contentScriptFile : "./test.js",
contentScript: 'window.alert("loaded");'
});
在/ var/www/html等/加-ons/hello/package.json
{
"title": "My Jetpack Addon",
"name": "test",
"version": "0.0.1",
"description": "A basic add-on",
"main": "index.js",
"author": "",
"engines": {
"firefox": ">=38.0a1",
"fennec": ">=38.0a1"
},
"license": "MIT",
"keywords": [
"jetpack"
]
}
/var/www/html/add-ons/hello/script/data/test.js
alert("Hello World");
命令我运行以测试
cd /var/www/html/add-ons/hello
jpm init
(实际上package.json文件是由此命令创建的)
jpm run -b /usr/bin/firefox
(我使用Ubuntu所以我这样运行)
我测试它现场,我得到loaded
警报但是我得到以下错误;
console.error: script: Error opening input stream (invalid filename?): resource://script/data/test.js
的文件夹和文件已经在根文件夹中存在。
如果这是根; /var/www/html/add-ons/hello
应该不是resource://script/data/test.js
是指/var/www/html/add-ons/hello/script/data/test.js
?
我在哪里做错了?
哪里是U运行JPM运行的呢?它必须来自'/ var/www/html/add-ons/hello'文件夹? – Nandu
也转储您的附加根文件夹的整个文件夹结构 – Nandu
@Nandu感谢您的答复。是的,我在'''/ var/www/html/add-ons/hello'''上运行JPM也许更好的问题是'''resource://'''指的是什么? – Revenant