Firefox / chrome/safari拡張機能を使用してWebページからコンテンツを抽出しようとしています。キャプチャは正常に機能しますが、完全なWebページをキャプチャすると、時間がかかり、UIがブロックされます。キャプチャ/DOM解析コードを別のスレッド(Webワーカー)に移動したい。ただし、WebワーカーはDOMにアクセスできません。これを回避する方法はありますか?
次のコードを使用して、スクリプトをWebページに挿入しています。
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」内で行われています