単語のリスト(潜在的に6500ワード)に対して、読み込まれたページを検索し、一致を強調表示し、ホバーに同義語を表示するFirefoxアドオンを作成する必要があります。firefox addon sdkのバックグラウンドスレッドでpageModを実行しますか?
私は正規表現\ bMyWord \ bを使用している正規表現に基づいてdomと検索をトラバースするHightlightRegex.jsを使用しています。
主な問題は、検索語が頻繁に出現するページでアドオンをテストすると、Firefoxがしばらく(5〜6秒)ハングしてハイライトが表示されることです。これは1つの単語に対して起きているので、もし私が6500語を検索するとどうなるか想像できるでしょう。
バックグラウンドスレッドまたは非同期にpageModを実行し、UIをフリーズせずに一致する単語を強調表示する方法はありますか?
あなたは現在、アドオンタブを分離し、ブラウザ上で全体として実行するように結ばれていないhttps://builder.addons.mozilla.org/addon/1042263/latest/
でアドオンを見てすることができますが、私はそれはFirefoxがハングアップしないだろう。
できるだけ効率的に行う必要がありますので、提案は大歓迎です。
もう少し詳しく教えてください。 setTimeoutで検索を実行しても、設定されたタイムアウト機能が実行されている間はブロックされません。ポイントを説明するための簡単な例は非常に便利です。 –
@PankajKumar:はい、ブロックされます。そのため、単一のタイムアウトで小さなチャンクだけを処理する必要があります。次に、 'setTimeout()'を呼び出し、次のチャンクが処理される前にブラウザがイベントを処理できるようにする必要があります。 –