1

私はログインフォームをポップアップするFirefox拡張機能を持っています(これはC++のwinformであり、重要ではありません...)。これは、callComテクニックを使用して行われます。つまり、C++クライアントが統合され、Components.classesを初期化してからcreateInstance()、クエリインターフェイスなどを呼び出します。Javascript - callComメソッドがFirefoxのアニメーションgifとタイマーをブロックします

Firefoxでは、クライアントのログイン画面を呼び出すとブラウザが待機していますそれが同期的に閉じるため、すべてが「スタック」します。タイマー、アニメーションGIFなど

どうすればこの問題を解決できますか?

答えて

0

あなたの内線について実際にはわかっていない - あなたが呼んでいるXPCOMメソッドは、イベントを処理せずに何かを待つのではなく、すぐに戻る必要があります。一般的な設計の原則は、メインスレッドでのアクションをブロックすることは悪い考えです。おそらくあなたの場合は、新しいスレッドを作成し、このスレッドでフォームを開き、それを待ってから、XPCOMメソッドがメインスレッドをブロックせずにすぐに戻ることができるようにします。

関連する問題