我想創建簡單的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