在我的firefox插件代码中,如果我引用data
目录中的文件,一切正常:
var button = widget.Widget({
id: 'foo',
label: 'bar',
contentURL: data.url('icon.png'),
onClick: function() {
tabs.open(data.url('control.html'));
},
});
但是如果我把同一个文件放到foo
目录中,它就不能被引用了(不作为网页打开,不显示为图像等):
var button = widget.Widget({
id: 'foo',
label: 'bar',
contentURL: data.url('icon.png'),
onClick: function() {
tabs.open(data.url('../foo/control.html'));
},
});
在文档中说明data.url()
相对于data
目录有效,但不清楚only
目录是否有效data
?是否可以使用其他顶级目录,或者我没有选项,需要将我的所有插件文件放在data
目录中?
答案 0 :(得分:1)
是的,你可以。但是你不能使用数据方法。
我不知道如何在SDK中获取jar文件的自我路径。但是一旦你获得自我路径,那么你可以加载该文件。
实际上有些想法: 可能会执行一个console.log(data.url('control.html')),它应该为您提供数据文件夹的位置,例如: 罐子://blah/blah/blah/data/control.html
所以做字符串maniuplation并删除数据以获取 罐子://嗒嗒/等等/嗒嗒/
然后在foo.html上添加jar:// blah / blah / blah / foo / stuff
如果foo与data文件夹在同一目录中。只需执行data.url('icong.png')的console.log并在此处发布,我可以帮助您进行字符串操作