ExternalInterface.call()

ユーザの入力に対して動的にコンテンツを生成する場合、ExternalInterface.call()メソッドをよく使います。
すごい便利なんですけど、ハマリどころが多い気がするので、そのメモ。

と思ったら、すでにまとめられていましたので、
個人的にエラー出ちゃったパターンを紹介。


1.javascriptで呼び出すタイミング

  swfオブジェクトが認識されていない段階で呼び出すとエラーになります。
  また、swf側でaddCallbackが処理されていない段階で呼び出してもエラーになります。
  swfのロードには時間が掛かることが多いので、初期設定はswf側から呼び出すのが安全な感じがします。

2.swfを埋め込むHTMLタグのid,nameの命名

  Flash Playerのバージョンによっては、「-」ハイフンが使えなかったりするようです。
  僕の場合は、「.」ドットや「/」スラッシュを入れると上手く動かなかったことがあります。
  id,nameには極々普通の文字を使うのが良いですね。安全第一です。


ExternalInterface.call()ハマリどころリンク
http://tech.kayac.com/archive/externalinterface-check-point.html
http://www.starryworks.jp/cgi-bin/mt/mt-tb.cgi/89