スキップしてメイン コンテンツに移動

gadgets.flash.embedCachedFlashの使い方

OpenSocial ガジェットでのEmbedFlash(EmbedCachedFlash)の使い方


はじめに
朝起きてgadgetを見たら、急にFlashが表示されなくなっていて滝汗。。。
開発中ということでembedFlashは使わずに、getProxyUrlなフラッシュをswfobjectで埋め込んでいたのですが、getProxyUrlでswfをキャッシュしなくなったのかもしれません。
案の定、getProxyUrlを外すとフラッシュは読み込まれます。

embedCachedFlashに書き換えたところ復帰しましたが、もしgetProxyUrlでFlashをキャッシュしてくれないと、動的に読み込みたいときに困るなぁ。

サンプル
   gadgets.flash.embedCachedFlash(
        'http://xxx/xxx.swf?ts='+parseInt((new Date)/1000),
        'flashContainer',
        '9.0.0',
        {
            id: 'externalas3addcallback',
            quality: 'high',
            allowScriptAccess: 'always',
            allowfullscreen: "true",
            width: '100%',
            height: '100%',
            FlashVars:
                'data1=32&data2=11'
        }
    );

ポイント
開発中などでキャッシュを無効にしたい場合にタイムスタンプを付ける。
getProxyUrl(url,{'REFRESH_INTERVAL' : 0})みたいに他の方法あるかも。。。

本家のサンプルのFlashPlayerのバージョンの指定の仕方が違ってる、、、
 こんな風に⇒ embedFlash(url, "flashcontainer", {swf_version: 6,id:~~})

HTMLからデータを渡したい場合は、FlashVarsの中に、変数名=データを&で連結して入れてやる。
サンプルが出てこないし、いつもswfobject任せでやってるからすぐには分からなかった(汗
またBoolean値を渡す場合注意が必要で、trueは'true'、falseは''としておくようです。

最後に、<object>から<embed>に変わるので、cssやjsを適宜に変更します。