- 2007年9月 7日 23:28
- javascript
FlashとJSの通信をしたいならExternalInterfaceを使うのは常識だとして、実際、どう書いていいのかがよく分からなくなる場合があるのでまとめです。
HTML側↓
<div id="externalFlash">
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject('hoge.swf', 'external2', '400', '300', '8', '#ffffff');
so.addParam('wmode', 'opaque');
so.addParam('allowScriptAccess', 'always');
so.write('externalFlash');
// ]]>
</script>
- まず、SWFObjectコードをexternal**というDIVで包む
- SWFObjectの第二引数をexternal**というIDにする
- allowScriptAccessをalwaysにする
僕が試した感じ、これでIE/FFともにうまくいきました。
Flash側↓
import flash.external.*; //←いちばん最初に書く
//
test_btn.onRelease = function() {
ExternalInterface.call('hogeFunc', hoge1);
};
Flashは最初にexternalクラスをインポートして、callメソッドでJS関数を呼び出すだけ。簡単。JS関数はcallメソッド('関数名','引数1'...)という形式になります。引数がなければcall('hogeFunc');だけでも可。
最後にJS側↓
function hogeFunc(hoge1){
window.alert(hoge1)
}
これでJSとの融合もバッチリです。
Comments:0
Trackbacks:1
- TrackBack URL for this entry
- http://ryow.net/mt/mt-tb.cgi/230
- Listed below are links to weblogs that reference
- SWFObjectを使ったExternalInterfaceまとめ from ryow.net Blog
- いつか役に立ちそうな Flash × JavaScript from ラボブログ 2009-08-23 (日) 15:26
- スパイスラボ神部です。 flashでmixiアプリ作るためのポイントを調査 - プログラマー、再起動中 SWFObjectを使ったExternalInt...