如何在Firefox扩展中访问面板文档(在调用webservice之后)?

时间:2013-08-16 02:08:13

标签: firefox-addon

我为我的面板内容定义了一个html字段,该面板位于数据文件夹中。

var popupPanel = require("sdk/panel").Panel({
  contentURL: data.url("main.html")
});

我正在尝试从lib文件夹中的javascript访问此文档的DOM。似乎不可能,因为文档变量未定义。

然后我按照其中一个示例添加,数据文件夹中有html和javascript,这个javascript访问html的DOM。我尝试按照这个示例,但与此示例不同,我还必须调用Web服务,并使用响应修改DOM。我发现我无法从存储在数据文件夹中的javascripts调用webservices。

我读到了关于在lib和数据文件夹中实现文件之间通信的一些内容 - 但这是一个非常简单的用例,我希望有一个更简单的解决方案,比如,只需将工作流放在一个JS文件中:D(在Chrome中)这是可能的!)。

注意:我不是在问如何调用Web服务,已经开始工作了。我唯一的问题是如何做到这一点+在响应中访问DOM。

有什么想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

引用the SDK panel documentation

  

您无法直接从主插件访问面板内容   代码。要访问面板的内容,您需要加载脚本   小组。在SDK中,这些脚本称为“内容脚本”   因为它们明确用于与网络内容进行交互。

     

虽然内容脚本可以访问它们所附加的内容,但它们也是如此   无法使用SDK的API。 通常会实施完整的解决方案   意味着你必须在内容脚本和。之间发送消息   主要附加代码。