2011-06-02 118 views
1
當前頁面

獲得的圖像,所以我建立一個自定義Firefox擴展,使用Firefox擴展JavaScript從

我的問題是,如果我要發送的信息有關,它是當前頁面上的遠程服務器中的圖像使用這個擴展,我該如何編寫JavaScript,以便它可以獲取當前文檔中的圖像?

一般來說,您如何訪問附加到自定義Firefox擴展的JavaScript中當前頁面/文檔中的任何HTML內容?

回答

1

如果您的擴展在瀏覽器覆蓋區中加載其JavaScript代碼,則它可以訪問全局gBrowser變量(<tabbrowser> tag)。要訪問當前選擇的選項卡中加載的文檔,請使用gBrowser.contentDocument。要獲取所有圖像的URL:

var images = gBrowser.contentDocument.getElementsByTagName("img"); 
var urls = []; 
for (var i = 0; i < images.length; i++) 
    urls.push(images[i].src); 

請注意,這隻會給你<img>標籤。你不會得到像<input type="image">這樣的東西,你不會得到在CSS樣式表中定義的圖像。如果你想要一個更完整的列表,你應該看看頁面信息對話框如何實現它:http://hg.mozilla.org/mozilla-central/file/2bb8c0b664cf/browser/base/content/pageinfo/pageInfo.js#l614。正在調用函數processFrames()中的所有元素的函數,該函數使用TreeWalker來查看所有元素。