【问题标题】:firefox extension, jquery and accessing the documentfirefox 扩展、jquery 和访问文档
【发布时间】:2009-06-22 15:37:22
【问题描述】:

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

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

请帮忙。谢谢。

【问题讨论】:

    标签: jquery firefox firefox-addon


    【解决方案1】:

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

       e.target.defaultView.document
    

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

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

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

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

    【讨论】:

    • 你是greasemonkey的作者吗?我只是在阅读该插件的代码,它就是这样做的。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      相关资源
      最近更新 更多