我想用我的Firefox/Chrome瀏覽器/ Safari瀏覽器插件來提取網頁中的內容。捕獲工作正常,但是當我捕獲完整的網頁時,需要很長時間並且UI被阻塞。我想將捕獲/ DOM解析代碼移到不同的線程(Web Worker)。但是網絡工作者無法訪問DOM。有沒有辦法解決這個問題?解析HTML DOM的網絡工作者
我使用下面的代碼注入腳本到網頁:
function executeScript(script, messageKey, callback) {
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var mainWindow = wm.getMostRecentWindow("navigator:browser");
mainWindow.gBrowser.selectedBrowser.messageManager.loadFrameScript(script, true);
mainWindow.gBrowser.selectedBrowser.messageManager.addMessageListener(messageKey, callback);
}
executeScript("chrome://extension/content/contentscript.js", "onSelectionReceived", onSelection);
所有的DOM處理這個腳本里面發生的事情「contentscript.js」
你所說的「提取」在這裏是什麼意思? –
我想從當前選項卡中打開的網頁獲取html數據。我注入腳本到網頁使用Firefox中的下列API:http://pastebin.com/bzMnrnJ2 –
你會怎樣想的數據看,一旦它被解析? – Jake