我正在構建一個Firefox附加組件,該附件用於閱讀HTML文檔中的所有內容。閱讀HTML元素
我的問題是:我無法讓我的JS在XUL中讀取HTML文檔中的HTML元素。
我已經嘗試過
content.document.getElementsByTagName('a')
而且
document.documentElement.getElementsByTagName('a')
什麼是我做錯了什麼?
我正在構建一個Firefox附加組件,該附件用於閱讀HTML文檔中的所有內容。閱讀HTML元素
我的問題是:我無法讓我的JS在XUL中讀取HTML文檔中的HTML元素。
我已經嘗試過
content.document.getElementsByTagName('a')
而且
document.documentElement.getElementsByTagName('a')
什麼是我做錯了什麼?
你試過window.content.getElementsByTagName('a')
和window._content.getElementsByTagName('a')
?
MDC sais _content
已棄用,您應該使用第一個。
如果它不工作,我會說這個問題是別的。
我終於搞定了。起初,我使用.content,但後來我在我的XUL擴展中安裝了jQuery,現在它更容易訪問DOM。 – 2011-03-28 11:34:13
使用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();
也許你應該試試這個:
window.opener.content.document.getElementsByTagName("a")
這是在我的擴展工作。 祝你好運!
我假設你已經包含在瀏覽器窗口的'browser.xul'中的JavaScript,對嗎? – 2011-03-23 15:24:10
lwburk說了什麼,還應該確保腳本在瀏覽器窗口加載後運行,而不是立即運行。 – MatrixFrog 2011-03-23 16:58:12
我在index.xul中運行。我的Js函數僅在onclick事件中被調用。該事件由我放入狀態欄的按鈕調用。 – 2011-03-23 17:06:10