ドメイン間で ExternalInterface を介して Javascript と Flash 間の通信を有効にしようとしています。Javascript は、SWF と同じドメインにある場合にうまく機能します。しかし、あるケースでは、HTML がドメイン A に存在し、javascript とフラッシュの両方がドメイン B に存在します。私は次のすべてを実行しました。
- 埋め込みタグには
allowScriptAccess="always"
(そしてオブジェクトにはそれがパラメータとして含まれています) - 私の SWF ファイルの actionscipt には
Security.allowDomain("*")
- 私の SWF も呼び出します
Security.allowInsecureDomain("*")
- ドメイン A とドメイン B の両方に
/crossdomain.xml
、allow-access-from domain="*"
SWF はページ上で JavaScript を呼び出すことができますが、Javascript を使用して ExternalInterface によって公開された関数を呼び出すと、
NPObject のメソッド呼び出しエラー! [プラグインの例外: Actionscript でエラーが発生しました。エラーを見つけるには、try/catch ブロックを使用してください。]
これは ActionScript 2 であるためExternalInterface.marshallExceptions
、使用できません。