私の ExtJS 4.1 アプリケーションでは、websocket 接続を使用して、サーバーから ExtJS クラスをリモートでインスタンス化し、制御しています。クライアントは websocket.onmessage に登録され、着信コマンドを待機しています。
そのための簡単なプロトコルを定義しました。サーバーは「CREATE classname id」を送信します。クライアント側では Ext.create を使用してクラスをインスタンス化します。その後、サーバーは websocket を介してオブジェクトにコマンドを送信できます。例: 「DOSTUFF id」。ExtJS の動的読み込みメカニズムを使用しています。
Chrome ではすべて正常に動作します。
Firefox の問題は、オブジェクトが作成される前に 2 番目のコマンド メッセージ (DOSTUFF) が実行されることです。オブジェクトが見つからないため、エラーが発生します。ExtJS が HTTP-GET 経由でファイルをロードする前に、2 番目の websocket コマンドメッセージが実行されたようです。
私の世界では、JavaScript はシーケンシャルに実行されます (私は webworkers を使用しません)。Ext.create(..) の呼び出しは、バックグラウンドで HTTP-GET と同期して実行する必要があると思います。
クライアント アプリケーションの "疑似" トレース出力を次に示します。
ExecuteCommand (Enter): CREATE ("MyClass", "1")
HTTP-GET "MyClass.js"
ExecuteCommand (Enter): DOSTUFF ("1")
ExecuteCommand (Error): DOSTUFF ("1"): Object not found
ExecuteCommand (Enter): CREATE ("MyClass", "1"): OK! Object created!