2011-03-23 103 views
2

我正在構建一個Firefox附加組件,該附件用於閱讀HTML文檔中的所有內容。閱讀HTML元素

我的問題是:我無法讓我的JS在XUL中讀取HTML文檔中的HTML元素。

我已經嘗試過

content.document.getElementsByTagName('a')

而且

document.documentElement.getElementsByTagName('a')

什麼是我做錯了什麼?

+0

我假設你已經包含在瀏覽器窗口的'browser.xul'中的JavaScript,對嗎? – 2011-03-23 15:24:10

+0

lwburk說了什麼,還應該確保腳本在瀏覽器窗口加載後運行,而不是立即運行。 – MatrixFrog 2011-03-23 16:58:12

+0

我在index.xul中運行。我的Js函數僅在onclick事件中被調用。該事件由我放入狀態欄的按鈕調用。 – 2011-03-23 17:06:10

回答

0

你試過window.content.getElementsByTagName('a')window._content.getElementsByTagName('a')

MDC sais _content已棄用,您應該使用第一個。

如果它不工作,我會說這個問題是別的。

+0

我終於搞定了。起初,我使用.content,但後來我在我的XUL擴展中安裝了jQuery,現在它更容易訪問DOM。 – 2011-03-28 11:34:13

0

使用jQuery很容易 -

首先用它添加到您的overlay.xul

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

要比訪問DOM代碼:

例:

 
    doc = content.document; 
    $("a:contains(flamengo)", doc).html();

0

也許你應該試試這個:

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

這是在我的擴展工作。 祝你好運!