CrossDomainBridgeをSpark Projectに登録しました

CrossDomainBridgeクラスとは

  • flashのcrossdomain.xmlを用いて、JavaScriptドメインを超えた通信を行えるようにします
  • 基本的にユーザはJavaScriptを触ります
  • crossdomain.xmlが適切におかれていないサイトにはもちろんアクセスできません

サンプル

コード

使い方

上のサンプルと、 http://snippets.libspark.org/trac/browser/jirox/as3/sample/crossdomainbridgeを参照

開発時にIEで苦労した
ExternalInterfaceではまる

IEではObjectタグのidの文字列にexternalという文字列が含まれていないとExternalInterfaceを使えない。要するに、

  • externalHoge
  • hogeexternalHoge
  • hogeexternal

とかなってないとだめ。この情報はExternalInterface.call Internet explorerでnullが返ってくる件から参考にさせてもらいました。

swfのライフサイクルにはまる

IEでは一度swfのコンストラクタが呼ばれると、そのswfのコンストラクタを呼ばない。つまり、新しいObjectタグを追加してもsrcが同じだとコンストラクタが呼ばれないってこと。これに相当はまった。結局src属性にtimestampをつけるようにして回避したけど、なんかなぁ