2
我正在做一個FireFox擴展。我有一組URL。我想要的是:使用document.location.href
來重定向頁面中的所有URL,然後使用我擁有的XPath計算頁面所具有的元素數量。用document.location.href加載一組URL,然後只在頁面加載時執行JS
問題是,我必須等待頁面加載完成後才執行XPath的count方法。這是我的代碼:
var actualResult = 0;
actualResult = content.document.evaluate('count('+taskModeler.ui.getStatus()+')', content.document, null, XPathResult.NUMBER_TYPE, null).numberValue;
for(var i=0; i<taskModeler.ui.getPageContent().length;i++) {
content.document.location.href = taskModeler.ui.getPageContent()[i].getAttribute("href");
//only if the page was loaded execute the next line
actualResult+=content.document.evaluate('count('+taskModeler.ui.getStatus()+')',
content.document, null, XPathResult.NUMBER_TYPE, null).numberValue;
}
getPageContent()
返回一個包含集URL的的數組。對於這些URL中的每一個,我必須加載頁面才能訪問文檔,然後計算返回XPath的事件。但是,如果未加載頁面,則count方法不起作用,因爲它返回實際頁面的結果,而不是在content.document.location
中加載的頁面。
我該怎麼做?
你怎麼做*什麼*?在頁面加載之前獲取頁面數據?你不能。或者是「如何等待頁面完成加載」這個問題? –
我只有在頁面加載完成時才需要執行count方法。因此,我如何在我的代碼中顯示的for循環中執行此操作? – Noelia
你真的需要*看*加載頁面嗎?或者你只是試圖從頁面中檢索數據,以便可以針對它運行查詢? –