尝试在选项卡就绪事件上附加脚本时出现 Firefox SDK JPM 错误

Firefox SDK JPM error when trying to attach scripts on tab ready event

这开始于 02-11-2016 - firefox 开发者版(但显然也是主要版本)

代码:

var self = require("sdk/self");
var tabs = require("sdk/tabs");
tabs.on('ready', function(tab){
  tab.attach({
    contentScriptFile: [self.data.url('js/my-file.js')]
  })
});

console.error:
JPM [error]   Message: Error: Creating URI from string failed
  Stack:
    sandbox@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/loader/sandbox.js:32:17
WorkerSandbox@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/content/sandbox.js:145:19
constructor@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/core/heritage.js:146:23
initialize@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/content/worker-child.js:52:20
constructor@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/core/heritage.js:146:23
@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/content/tab-events.js:51:3
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:123:45
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
messageReceived@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/remote/child.js:67:37

第一次附加时工作正常,但当您导航到同一选项卡中的另一个 URL 时,我收到上述错误。所以可能在分离和重新附加脚本时,某些事情失败了。非常感谢和欢迎任何帮助或想法!

Soo.. 如果您不在新文件夹中 "jpm init" 复制粘贴另一个先前初始化的文件夹的内容,则会出现上述错误。我的错误。