Gecko関数NPN_PluginThreadAsyncCall/pluginthreadasynccallがSafari 5.1で動作しません(Firefoxが動作します)。私の関数は呼び出されません。別のスレッドで長時間実行されたタスクを実行した後、JavaScriptに関数呼び出しを戻そうとしています。どうすればこの作品を作れますか?OSXのSafari 5.1でプラグインスレッドをコールバックする方法は?
0
A
答えて
1
ええ、FireBreathでSafari 5.1と同じ問題がありました(これはよく慣れていないと間違いなく見えます)。 NPN_PluginThreadAsyncCallは動作しなくなりました。どのプラットフォームを使用しているのかを指定していないので、MacとWindowsの両方で使用していることを示します。
ウィンドウでは、HWNDというメッセージを作成し、イベントデータにvoid *を渡してそのHWNDにメッセージをLPARAMとして送信します。 void *は、通常はプラグインスレッドが呼び出すparamsを保持するデータ構造体へのポインタに変換され、呼び出しが行われ、データ構造体は解放されます。 message window class we use is hereおよびhere is where the call is made。 (IEでクロススレッド呼び出しに同じメカニズムを使用していることに注意してください)
Macでは、基本的にobjective-c performSelectorOnMainThreadを使用します。私たちはそれをC++から使いやすくするためのクラスにまとめました。 scheduler class we use is hereおよびhere is where the call is made。あなたは本当に注意する必要があることに注意してください。なぜならこれらは可能な競争条件がたくさんあり、時にはリエントラントコードで終わることがあるからです。 FireBreathには、クロススレッドコールを完成させるために数十時間の作業が必要です。それは信じられないほどトリッキーな問題です。
うまくいけば、これが役に立ちます。
関連する問題
- 1. OSX 10.7のSafari 5.1でFlash SWFオブジェクトを隠す問題(Safari 5.1の10.6で正常に動作します)
- 2. Blob in safariの使い方5.1
- 3. Safari OSXのドラッグ+ドロップ
- 4. Safari 5.1のスタイルシートスイッチャーWebKit 534
- 5. Safari 5.1 QuickTimeオブジェクト+ javascriptのバグ?
- 6. WakandaがIOSとOSXでSafariを殺す
- 7. OSXとSafariの問題
- 8. Mac OSX 10.11でSafariでキュウリのテストを実行するSafariの場合
- 9. Safariで動作しないflexbox 5.1 windows
- 10. Safari 5.1のメモリからのタブのアンロード
- 11. iOS 5.1とSafari Mobileの制限
- 12. Safari 5.1のprompt()関数とキャンセル
- 13. Safari 5.1でCSSスタイルのスイッチャーが無効にされている
- 14. クロスソースリソース共有の問題:プリフライトリクエスト後にOSX SafariとiOS Safariの両方でエラーが発生する
- 15. skip_before_action Rails 5.1のコールバックと継承
- 16. PHPでコールバック/コールバックを使用する方法は?
- 17. jQuery.show()はIE 8、Safari 5.1で動作しません
- 18. フレックスボックスはSafari 5.1で動作していません
- 19. Mac OSX 10.6でMysql 5.1を停止できません
- 20. Laravel 5.1で生のクエリを実行する方法は?
- 21. iPhoneシミュレータ5.1でデータストレージのパスを取得する方法は?
- 22. C++コールバック - コールバック型をデカップリングする方法
- 23. mac osxでyafarayをレンダリングする方法
- 24. osxでCrypto ++クロスプラットフォームをコンパイルする方法
- 25. OSXでQt 5.1を使用してプロジェクトをビルド中に警告
- 26. カスタムモデルイベントを作成する方法laravel 5.1?
- 27. oracle apex 5.1で複数行を計算する方法は?
- 28. MySQL Server 5.1でインドルピー記号を入力する方法は?
- 29. Safariでモーダルダイアログのフォームフィールドに2回入力した文字5.1
- 30. Safari履歴ドメインイメージを取得する方法Safari v10.1のフォームキャッシュ
もう一度お手数をおかけします。私はperformSelectorOnMainThreadを使用して終了しました。これはうまく動作するようです:) –