Home > javascript > SWFObjectを使ったExternalInterface(2)

SWFObjectを使ったExternalInterface(2)

  • Posted by: ryow
  • 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() とか。です。

Comments:0

Comment Form

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

Home > javascript > SWFObjectを使ったExternalInterface(2)

About

りょうどっとねっとブログ

Twitter :ryownet

はてな :ryownet

Search

Return to page top