Javascript 这个插件sdk实现作为param访问插件文件系统期望什么?

Javascript 这个插件sdk实现作为param访问插件文件系统期望什么?,javascript,file-io,firefox-addon,firefox-addon-sdk,trigger.io,Javascript,File Io,Firefox Addon,Firefox Addon Sdk,Trigger.io,我在摆弄trigger.io的浏览器扩展框架。它在为Firefox创建.xpi时使用。讨论中的花絮来自于一个包装API以供扩展开发人员稍后在其他地方使用的应用程序。相关位: var data = require("self").data; // other stuff var apiImpl = { // other APIs here file: { string: function (b, c, a) { c(data.load(b.uri.substring(d

我在摆弄trigger.io的浏览器扩展框架。它在为Firefox创建.xpi时使用。讨论中的花絮来自于一个包装API以供扩展开发人员稍后在其他地方使用的应用程序。相关位:

var data = require("self").data;
// other stuff
var apiImpl = {
  // other APIs here
  file: {
    string: function (b, c, a) {
      c(data.load(b.uri.substring(data.url("").length)))
    }
  }
}
它看起来像
data.load()
resource://rabblerabble-at-jetpack/f/data/src/a.json

b.uri.substring(data.url(“”.length))有什么用
?这有什么意义? 我得去挖掘,弄清楚为什么我要送

forge.file.string({uri:'resource://rabblerabble-at-jetpack/f/data/src/a.json'}, function(data) {
  toLog(data);
}, function(e) {toError(e)});
而不是简单地将字符串作为第一个参数发送

我感觉它需要一些常用的对象,你可以在上面调用
.uri()
,但如果是这样的话,我不知道它是什么

看起来像是
data.load()
需要一个类似
resource://rabblerabble-at-jetpack/f/data/src/a.json

data.url(“”)
返回
resource://rabblerabble-at-jetpack/f/data/
。所以

b.uri.substring(data.url(“”.length)
返回
src/a.json
,这是预期的结果

具有
uri
属性。因此,
forge.file.string()
的结构可能是这样的,这样它就可以接受
self
作为参数。在看不到所有代码的情况下,这是我最好的猜测