Firefox addon 是否可以引用Firefox插件中的非数据目录?
在我的firefox插件代码中,如果我引用Firefox addon 是否可以引用Firefox插件中的非数据目录?,firefox-addon,firefox-addon-sdk,Firefox Addon,Firefox Addon Sdk,在我的firefox插件代码中,如果我引用data目录中的文件,所有这些都可以正常工作: var button = widget.Widget({ id: 'foo', label: 'bar', contentURL: data.url('icon.png'), onClick: function() { tabs.open(data.url('control.html')); }, }); 但是如果我把同一个文件放到foo目录中,它就不能再被引用了(不能作为网页
data
目录中的文件,所有这些都可以正常工作:
var button = widget.Widget({
id: 'foo',
label: 'bar',
contentURL: data.url('icon.png'),
onClick: function() {
tabs.open(data.url('control.html'));
},
});
但是如果我把同一个文件放到foo
目录中,它就不能再被引用了(不能作为网页打开,不能显示为图像等):
在文档中指出,
data.url()
相对于数据
目录起作用,但不清楚它是否只对数据
目录起作用?是否可以使用其他顶级目录,或者我没有选项,需要将我的所有加载项文件放在data
目录中?可以。但是你不能使用数据方法
我不知道如何在SDK中获得jar文件的自路径。但是一旦你得到了self路径,你就可以加载这个文件了
实际上,在一些想法上:
可能需要执行一个console.log(data.url('control.html'))来为您提供数据文件夹的位置,例如:
jar://blah/blah/blah/data/control.html
因此,请执行字符串编译并删除数据以获得
jar://blah/blah/blah/
然后再加上jar://blah/blah/blah/foo/stuff 在foo.html中
类似于如果foo与data文件夹位于同一目录中。只要对data.url('icong.png')做一个console.log并在这里发布,我就可以帮助您进行字符串操作
var button = widget.Widget({
id: 'foo',
label: 'bar',
contentURL: data.url('icon.png'),
onClick: function() {
tabs.open(data.url('../foo/control.html'));
},
});