【问题标题】:Read HTML elements读取 HTML 元素
【发布时间】:2011-07-21 09:06:30
【问题描述】:

我正在构建一个 Firefox 附加组件,它可以读取 HTML 文档中的所有内容。

我的问题是:我无法让 XUL 中的 JS 读取 HTML 文档中的 HTML 元素。

我已经试过了

content.document.getElementsByTagName('a')

还有

document.documentElement.getElementsByTagName('a') 

我做错了什么?

【问题讨论】:

  • 我假设您的 JavaScript 已包含在覆盖浏览器窗口的 browser.xul 中,对吧?
  • lwburk 所说的,另外,您应该确保您的脚本在浏览器窗口加载后运行,而不是立即运行。
  • 我在 index.xul 中运行。我的 Js 函数仅在 onclick 事件中被调用。这个事件由我放在状态栏中的按钮调用。
  • content.document.getElementsByTagName('a') 应该可以,你得到什么结果?

标签: javascript firefox xhtml firefox-addon xul


【解决方案1】:

你试过window.content.getElementsByTagName('a')window._content.getElementsByTagName('a')吗?

MDC sais _content 已弃用,您应该使用第一个。

如果它不起作用,我会说问题出在其他地方。

【讨论】:

  • 我终于让它工作了。起初我使用 .content,但后来我在 XUL 扩展中安装了 jQuery,现在访问 DOM 变得更加容易。
【解决方案2】:

使用 jQuery 很容易 -

首先将它添加到你的overlay.xul

<script type="application/x-javascript" src="chrome://parentalcontrolbs/content/jquery-1.5.1.min.js" />

比使用以下方式访问 DOM 代码:

例如:

文档=内容.文档; $("a:contains(flamengo)", doc).html();

【讨论】:

    【解决方案3】:

    也许你应该试试这个:

    window.opener.content.document.getElementsByTagName("a")
    

    这在我的扩展程序中有效。 祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-08
      • 2013-09-25
      • 2023-03-14
      • 1970-01-01
      • 2016-09-27
      • 2011-07-27
      • 2018-06-09
      • 1970-01-01
      相关资源
      最近更新 更多