- 2008年7月24日 19:54
- javascript
SWFObjectを使ったExternalInterfaceまとめの続きです。
前回はExternalInterface.call でAS→JSの通信が出来たところまででした。今回は逆に、JSからAS関数を呼び出すところです。それにはaddCallback関数を使います。
HTML側↓
<div id="externalFlash">
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject('hoge.swf', 'externalName', '400', '300', '8', '#ffffff');
so.addParam('wmode', 'opaque');
so.addParam('allowScriptAccess', 'always');
so.write('externalFlash');
// ]]>
</script>
そしてFlash側↓
import flash.external.*; //←いちばん最初に書く
//
ExternalInterface.addCallback("flashCallbackFunc",null, sampleFunc)
function sampleFunc(){
test_txt.text="コールバックしたよ"
}
そしてJS側↓
function removelayer(){
var doc= document.all? window["externalName"] : document["externalName"];
doc.flashCallbackFunc();
}
大事なのは、コールバック用JS関数をコールするのはSWFObjectのDIVじゃなくて、EMBEDのIDから、ということです。これで一日ハマりました。やりがちなのが externalFlash.flashCallbackFunc() とか。です。
- Newer: そろそろbridal2.0について一言言っておくか
- Older: fl.control (CS3のコンポーネント)の文字を大きくする
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://ryow.net/mt/mt-tb.cgi/348
- Listed below are links to weblogs that reference
- SWFObjectを使ったExternalInterface(2) from ryow.net Blog