1

当我在扩展中的 pageLoad 函数中使用 content.document 时,我可以轻松地遍历当前窗口,但是当我尝试在另一个函数中访问它时,使用 setInterval 调用它时,我无法访问 content.document。

我尝试了 content.document、document.defaultView、window.content.document 以及我能想到的所有其他合理组合。

请帮忙。谢谢。

4

2 回答 2

1

我通过从这样的事件中获取文档对象来实现这一点:

   e.target.defaultView.document

事件对象在任何事件侦听器函数中都可用 - 例如,您可能通过执行以下操作来捕获文档加载事件:

   var appcontent = window.document.getElementById('appcontent');
   appcontent.addEventListener('DOMContentLoaded', onPageLoad, false);

在此示例中,onPageLoad 函数获取可用于获取文档的事件参数。

为了能够在其他地方访问文档对象,请设置一个指向该对象的全局变量。如果使用 jQuery,请将其作为可选的第二个参数传递给 $ 函数(即 jQuery 工作的上下文)。

于 2009-08-19T12:17:17.533 回答
0

我不确定为什么那行不通(我必须查看更多代码)。但是,另一种方法是使用gBrowser.selectedBrowser.contentDocument.

于 2009-06-22T20:14:09.690 回答