Firefox扩展加载JavaScript文件

3

我有一个Firefox扩展程序,我加载了一个外部的Javascript文件来访问一些文件写入函数。它在Windows Vista上运行正常,但在Windows 7上却不能正常工作。我的加载Javascript文件的代码如下:

onLoad: function() {
// initialization code
this.initialized = true;
this.strings = document.getElementById("bs-strings");
var service = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader);service.loadSubScript("chrome://global/content/writefunc.js");

},

我尝试找到 Windows 7 中保存扩展的路径,但是找不到。我猜想 Firefox 加上扩展在 Windows 7 上是以不同的方式安装的,如果我像之前一样声明路径,我将找不到该文件。有更好的方法来加载扩展中的 JavaScript 文件吗?


1
两台Windows机器上的FF版本是否相同?如果是,那么它们的版本是什么?否则,请尝试将版本更改为正常工作的版本。 - Sangeet Menon
writefunc.js 是由你提供的文件还是由 Firefox 提供的?如果是你提供的,那么路径可能应该是:chrome://<你的插件名称>/content/writefunc.js - Felix Kling
@1 两个版本都是3.6.15。 @2 好的,我会尝试一下。 - user366121
在我的Win7机器上,这是扩展的路径:c:\Users\someusername\AppData\Roaming\Mozilla\Firefox\Profiles\profilename\extensions\ 但根据您最后一段的描述,我会怀疑您的chrome.manifest文件。您能否向我们展示它?此外,如果writefunc.js是您的函数,您应该考虑将其用作JavaScript模块,而不是使用jssubscript加载程序。 - Mihailo
嗨,我找到了问题所在。我安装了一个使用此JavaScript函数的扩展程序。因此,我已经可以访问这些函数,但我没有在另一台计算机上安装它,路径也不正确:chrome://<yourAddonNameHere>/content/writefunc.js解决了。感谢您的支持。 - user366121
@Felix Kling - 你应该把你的评论作为答案,然后让user366121将其标记为正确。 - Mihailo
1个回答

2

writefunc.js是由您或Firefox提供的文件?

如果是由您提供的,则路径必须指向您的插件:

chrome://<yourAddonNameHere>/content/writefunc.js

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接