如何獲得的所有圖像,解碼如果可能的話,通過XPCOM一個網頁後檢索圖像(如果可能的話解碼)存在於wepage?如何使用XPCOM
的圖像可能會在HTML被指定爲在某些CSS屬性背景網址,img標籤內,或以任何形式的Web開發人員可能包括在內。
我試圖尋找到imgIContainer,imgIDecodeObserver等衆多接口。儘管我們可以通過這種方式向Mozilla提供圖像URI,以便加載圖像,對其進行解碼並返回imgIContainer。但我無法找到當前網頁中的所有圖片。
這必須在Java或Javascript中完成。
有什麼建議嗎?
@Wladimir - 謝謝你的幫忙。
我想要所有圖像,包括CSS結構(背景圖像)。所以現在我正在監聽來自nsIWebProgressListener的事件。
onStateChange: function(webProgress, request, stateFlags, status) {
if ((~stateFlags & (nsIWebProgressListener.STATE_IS_REQUEST | nsIWebProgressListener.STATE_STOP)) == 0) {
var imgReq = request.QueryInterface(CI.imgIRequest);
if (imgReq)
var img = imgReq.image;
}
}
問題是request.QueryInterface(CI.imgIRequest)
會爲所有非圖像請求引發異常。儘管可以通過將代碼放入try-catch塊來忽略這些異常,但我寧願乾淨地做一些事情。
是否有任何條件可以檢查,以瞭解請求是否爲圖像?
感謝您的幫助。 – Ankur
正如我所說:「除非您想查看網頁在加載時發出的請求」。然而,你的問題聽起來像你想從已經加載的頁面提取圖像。 –
是的,那就是我想要的。出於某種原因,我無法將我的代碼放在適當的格式中。讓我試試更多的技巧來把我的代碼放在這裏。 – Ankur