Firefox 扩展中的脚本上下文



我有一些与Firefox扩展中的上下文相关的查询。

  1. 当我们从覆盖 xul 加载脚本时,我们可以访问窗口/文档吗?如果是,我如何从中访问网页内容?
  2. 从 xul、弹出窗口和使用@mozilla.org/moz/jssubscript-loader;1脚本加载器加载的脚本的生命周期是多久?
  3. 从非阻塞弹出窗口访问网页中内容的最佳方法是什么?

当我们从覆盖 xul 加载脚本时,我们可以访问窗口/文档吗?如果是,我如何从中访问网页内容?

叠加层通常适用于browser.xul- 主浏览器窗口。它们加载的任何脚本都在浏览器窗口的上下文中加载,这是全局windowdocument变量所引用的内容。您可以通过gBrowser.contentWindowgBrowser.contentDocument访问当前选定的浏览器选项卡(gBrowser是对<tabbrowser>元素的引用)。

从 xul、popup 和使用@mozilla.org/moz/jssubscript-loader;1scriptloader 加载的脚本加载的脚本的生命周期是多久?

脚本加载器将脚本加载到第二个参数给出的上下文中以loadSubScript()。如果省略该参数,则它将脚本加载到调用方的上下文中。只要上下文仍然存在,脚本就会保留至少 - 如果有任何外部引用,脚本将保留更长时间(这通常不是一个好主意)。

从非阻塞弹出窗口访问网页中内容的最佳方法是什么?

这在很大程度上取决于您认为的"弹出窗口"。XUL对话框?一个XUL<panel>?在新浏览器窗口中打开了网页?

最新更新