Tag: 開発記録
OpenSocial とか JavaScript とか Flash とかその辺の話。
flash.external.ExternalInterface を使うことで Flash 側から、Flash が埋め込まれたページで動いている JavaScript のメソッドを呼び出すことができる。これを使えば Flash 上のデータを永続データとして mixi のサーバに 保存することなどが簡単にできる。
ExternalInterface を使う場合は、Flash が埋め込まれたコンテナと JavaScript が通信できるように、 Flash を埋め込む際には allowScriptAccess のパラメータを設定する必要がある。 Flash を埋め込む JavaScript はこんな感じ。
var params = {
id : "externalswf",
width : 560,
height: 420,
quality : 'medium',
allowScriptAccess: "always"
};
gadgets.flash.embedFlash(
"http://www.tatsuya-koyama.com/mixi/honyapeke/flash.swf",
document.getElementById( "flash_movie" ),
9, //対象Flashコンテンツが必要とするFlash Playerの最小バージョン
params
);
僕の環境では、id を指定しないと Flash - JavaScript 間の通信が動かなかった。そういうもんなの?
Flash を埋め込む際のパラメータ wmode を "normal" とかに設定してると、 opensocial.requestShareApp で mixi に用意されたマイミク招待用のウインドウを開いたときに そのウインドウが Flash の裏側に隠れる。何てことだ。