正在将外部js加载到“;延伸“;firefox扩展
Loading external js to "extend" firefox extension
我正在开发一个使用大量外部服务的firefox扩展,我想在我的服务器上为这些外部服务的每一个托管一个.js文件,然后在需要时将每一个加载到扩展中。
这些外部js文件不是在firefox窗口上执行的"普通js",它们包含应该在扩展上下文上执行的代码,例如,它们需要使用Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
。
例如:
var myExtensionName = {
init: function() {
},
service1_func: function() {
}
}
我希望能够从外部文件加载service1_Func,它应该像硬编码到扩展文件中一样工作。我之所以需要这个,是因为service1_Func需要经常更新,而且我不想每次都更新整个扩展。我知道这可能会造成一些安全风险,但扩展不是为了分发,但它将在20多台计算机上使用,所以这将是我维护它的最简单方法
我该如何做到这一点
英语不是我的主要语言,所以我希望我能很好地解释自己,如果我需要澄清一些事情,请提问
警告:这是一个安全漏洞,不要在其他人应该使用的扩展中这样做!
使用XMLHttpRequest
下载JavaScript文件,使用Function
构造函数"编译"它
var request = new XMLHttpRequest();
request.open("GET", "http://example.com/func1.js");
request.addEventListener("load", function()
{
myExtensionName.service1_func = new Function(request.responseText);
}, false);
request.send();
http://example.com/func1.js
应包含函数体(不包含周围的function() {}
)。
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- JS可以在Chrome中工作,但不能在Firefox中工作
- createElement("a") - FireFox JavaScript
- 为什么javascript:void(0)在Firefox中不起作用
- Facebook登录按钮没有'不能在Firefox上工作
- jpm的默认Firefox路径没有'不起作用
- 重载JS'firefox中的对象原型
- Ajax调用在Firefox中不会自动响应
- JS在firefox中无法正常工作
- firefox插件和dev/panel之间的通信
- IE/Chrome中未定义的函数,但Firefox中没有
- ascii输入键通过firefox中的javascript返回0
- 在firefox和chrome中的左侧显示iframe滚动条
- html5 drawImage适用于firefox,而不是chrome
- angularjs$valid-on-dates在firefox中报告错误
- 您可以使用JavaScript和Firefox扩展来更改现有页面吗
- 设置 CSS 背景在 Firefox 中不起作用
- 如何从Javascript打开Firefox
- 滚动在Chrome中有效,但在Firefox或IE中无效
- 正在将外部js加载到“;延伸“;firefox扩展