从多个XUL文件中访问JavaScript

时间:2014-02-26 21:11:15

标签: javascript firefox-addon xul

这是关于Firefox扩展:

我有一个XUL浏览器覆盖图,其中包含我的所有javascripts。最终,javascript函数会触发xul页面的加载。此页面包含一个按钮,此按钮由触发页面加载的相同javascript操作(即动态设置按钮的oncommand属性,以便它将执行另一个javascript函数)。

问题是,当点击按钮时,它会给我错误。 我的javascript对象(命名空间,函数等)没有定义。但我不能在xul页面中再次包含所有Javascripts,因为我需要某种形式的全局对象。

即使我将按钮设置为与我自己的代码无关的简单命令(即gBrowser.loadURI(...)),也表示gBrowser未定义。

如何使用此按钮调用我的javascript函数?

1 个答案:

答案 0 :(得分:1)

// Access JavaScript from multiple XUL files

将gBrowser更改为Services.wm.getMostRecentWindow('navigator:browser')。gBrowser

另一种选择是在加载时创建一个JSM文件,然后将addEventListener添加到此页面。创建一个JSM文件。请参见示例here on gists.github