前回、googleのCDNでswfobjectをローディングする方法を書きました。
で、実際に、swfをロードすることができるのですが、ここでの問題点として、読み込みが完了したかどうか通知してほしいなと。
調べたところ、swfobject.embedSWF()メソッドの最後の引数にコールバック関数を仕込めば読み込み完了を通知してくれます。
これ、グローバル関数が、使われていますが、こちらでも、おkのようです。var flashvars = {};
via:JavaScriptとFlashの連携
flashvars.arg1 = "引数";
var params = {
wmode :"transparent",
allowScriptAccess: 'always'
};
var attributes = { id : 'swfID', name : 'swfID' };
swfobject.embedSWF("test.swf", "flashcontent", "500", "300",
"9.0.0", "expressInstall.swf",
flashvars, params, attributes, callbackSwf);
var swfObj = null;
// ********************************************************
// swfobjectのロード終了時のコールバックでFlashのオブジェクトを得る
// ********************************************************
function callbackSwf(obj){
swfObj = obj.ref;
}
// ********************************************************
// JavaScript → Flash
// ********************************************************
function testFunc(url){
if (swfObj == null){
alert("少ししてから試してください。");
} else {
swfObj.testFromJS('hello');
}
}
swfobject.embedSWF("test.swf", "flashcontent", "500", "300", "9.0.0", "expressInstall.swf", flashvars, params, attributes, funciton(){ }); |
0 コメント:
コメントを投稿