0

これが私の状況です - 私は C++ と DirectX で書かれた 3D エンジンを持っています。GUI ウィンドウにAwesomiumを使用します。

これにより、GUI に HTML と Javascript を使用して、3D 環境でレンダリングすることができます。Awesomium は、Chromium ブラウザーをラップして HMTL をレンダリングします。SWFの再生を含め、すべて正常に動作しています。

Javascript (Awesomium では C++ アプリケーション内から Javascript を呼び出すことができます) と Actionscripts ExternalInterface を使用して SWF ムービーと通信しようとすると、問題が発生します。恐ろしいセキュリティエラーが発生します。SWF ファイルにさまざまなステートメントを追加し、SWF ファイルへのパスを Flash Player のグローバル セキュリティ設定リストに追加することで機能します。

現在、エンド ユーザーがフラッシュ プレーヤーのグローバル セキュリティを適切に変更することを正確に期待することはできないため、回避策があることを願っています。

ローカルアプリケーションがあり、ローカルのswfファイルをロードするローカルのhtmlファイルを呼び出しています。私のローカル アプリケーションは、ローカルでこのローカル SWF ファイルと通信しています。ネットワーク トランザクションはありません。

では、なぜサンドボックス化するのでしょうか。特定の送信者、つまりアプリケーションを信頼するように swf ムービーに指示できませんか? ところで、私はフラッシュ 8/AS2 を使用しています。

ご協力いただきありがとうございます

サイモン

4

1 に答える 1

0

これらの設定があなたの場合、または既に使用している場合に適用できるかどうかはわかりませんが、ActionScript と JavaScript 間の通信のセキュリティを「緩和」するためにできることは次の 2 つです。

ActionScript の場合: System.security.allowDomain("*")

HTML の swfの<object>and/orタグで、 allowScriptAccessパラメータを「always」に設定します。<embed>

于 2010-12-30T00:37:14.043 に答える