2

Adobe FlashBuilder4.5を使用してActionScript3で記述されたプロジェクトがあります。にいくつかの関数を登録するExternalInterfaceので、JavaScriptから呼び出すことができます。

たとえばhttp://localhost/、サーバー上のFlashドキュメントにアクセスすると、定義された関数を正常に呼び出すことができます。ブラウザでファイルを直接(file:///プロトコルを介して)開くと、次のようなエラーで失敗します。

*** Security Sandbox Violation ***
SecurityDomain 'null' tried to access incompatible context 'file:///Users/foo/src/bar/baz/bin-debug/app.swf'

妥当なセキュリティ制限がありますが、逆説的な結果がExternalInterfaceあります。FlashBuilderデバッガーがを介してドキュメントを開くため、の使用をデバッグできませんfile:

このような重要な機能を正常にデバッグできないというのは、あまりにも馬鹿げているようです。

デバッガーをで使用するにはどうすればよいExternalInterfaceですか?

4

1 に答える 1

3

これを解決するには2つの方法があります。

  • use-network=falseコンパイラフラグを設定する( http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.html ctrl-f use-networkを参照)
  • デバッグ時にHTTPURLを起動するようにFlashBuilderデバッガーを構成します。これを行うには、[実行]-> [デバッグ構成]をクリックし、[URLまたは起動するパス]の下に「http://localhost/」と入力します。

私は一般的に後者を好みます。

于 2012-10-23T16:30:01.690 に答える