我有一些与 Firefox 扩展中的上下文相关的查询。
- 当我们从覆盖 xul 加载脚本时,我们可以访问窗口/文档吗?如果是,我如何从这里访问网页内容?
@mozilla.org/moz/jssubscript-loader;1
从 xul、popup 和使用scriptloader加载的脚本加载的脚本的生命周期是多少?- 从非阻塞弹出窗口访问网页内容的最佳方式是什么?
我有一些与 Firefox 扩展中的上下文相关的查询。
@mozilla.org/moz/jssubscript-loader;1
从 xul、popup 和使用scriptloader加载的脚本加载的脚本的生命周期是多少?当我们从覆盖 xul 加载脚本时,我们可以访问窗口/文档吗?如果是,我如何从这里访问网页内容?
覆盖通常适用于browser.xul
- 主浏览器窗口。它们加载的任何脚本都会在浏览器窗口的上下文中加载,这就是全局window
和document
变量所指的内容。gBrowser.contentWindow
您可以通过和gBrowser.contentDocument
(gBrowser
是对<tabbrowser>
元素的引用 )访问当前选择的浏览器选项卡。
@mozilla.org/moz/jssubscript-loader;1
从 xul、popup 和使用scriptloader加载的脚本加载的脚本的生命周期是多少?
脚本加载器将脚本加载到由第二个参数给定的上下文中loadSubScript()
。如果省略该参数,则它将脚本加载到调用者的上下文中。只要上下文仍然存在,脚本将至少存在 - 如果有任何外部引用,脚本将持续存在(这通常不是一个好主意)。
从非阻塞弹出窗口访问网页内容的最佳方式是什么?
这在很大程度上取决于您认为“弹出窗口”的内容。XUL 对话框?一个 XUL <panel>
?在新浏览器窗口中打开的网页?