firefox扩展中使用的Javascript变量

firefox扩展中使用的Javascript变量,javascript,variables,firefox-addon,xul,Javascript,Variables,Firefox Addon,Xul,我有:我想了解Firefox扩展,所以我从下载了包含“Hello World”示例的zip文件 在hello.xul中,我有: <hbox align="center"> <description flex="1">text in box</description> </hbox> 问题:如何在中使用javascript文件中的变量a,以便该变量的内容是框中“打印”的内容?您需要将参数传递到新窗口。首先显示一个示例,请阅读以下内容: 您应该使用参

我有:我想了解Firefox扩展,所以我从下载了包含“Hello World”示例的zip文件

在hello.xul中,我有:

<hbox align="center">
<description flex="1">text in box</description>
</hbox>

问题:如何在中使用javascript文件中的变量a,以便该变量的内容是框中“打印”的内容?

您需要将参数传递到新窗口。首先显示一个示例,请阅读以下内容:

您应该使用参数将值从一个窗口传递到另一个窗口
(对话框概念)

这提供了一种跨xul文件传递值的简单方法

对于您的问题,您可以在xxx.xul中执行类似的操作。这将打开
hello.xul
以及额外的参数返回值:

var returnValues = { out: null };
window.openDialog("hello.xul", "tree", "modal", returnValues);
注意:模态是必须的

接下来,在xxx.xul中,存储要传递给
hello.xul
的所有值(称为y),如下所示:

window.arguments[0].out = y
注意
窗口。参数[0]
指的是返回值

现在,您可以在
hello.xul
中访问y的值(即您案例中的标签名称),如下所示:

var labels = returnValues.out;
基本上

在打开子窗口时将参数传递给它

然后在子窗口中,用希望传递回父窗口的值填充参数,然后关闭子窗口

现在回到父窗口,您可以访问传递给子窗口的参数,该参数包含子窗口更新的信息

var labels = returnValues.out;