リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ JavaScriptでswf制御サンプル

JavaScript

JavaScriptでswf制御サンプル

JavaScriptでFlashムービー(swf)を制御させるサンプル。詳細はAS3の「External API の使用」を参照。
尚、swfの配置はswfobject.js v2.1を「Dynamic publishing」形式で組み込んだ。
サンプルはJavaScript関数をリンクさせたボタンをクリックで、停止中のフレーム再生。

【サンプル】
JavaScriptでFlashムービーを動作させるボタン

代替コンテンツ


【サンプルソース】xhtmlのheadタグ内(swfobjectのリンクとjavascript関数)

<script type="text/javascript" src="swfobject.js"></script><!--swfobject.js格納先-->
<script type="text/javascript">
// <![CDATA[
function test(){
	var flashId = "myId";//ID
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	var cheackBrowser = (isIE) ? window[flashId] : document[flashId];
	cheackBrowser.playJs();//ASに送信する関数名
}
// ]]>
</script>


【サンプルソース】xhtmlのbodyタグ内(ボタンとswfの配置)

<a href="JavaScript:test()">JavaScriptでFlashムービーを動作させるボタン</a>
<script type="text/javascript">
// <![CDATA[
	var flashvars = {};
	var params = {};
	params.allowscriptaccess = "sameDomain";
	var attributes = {};
	swfobject.embedSWF("sample.swf", "myId", "550", "400", "9.0.0", false, flashvars, params, attributes);
	<!--swfファイル名,ID,サイズ-->
// ]]>
</script>
<div id="myId"><p>代替コンテンツ</p></div><!--ID-->


【サンプルソース】AS3.0

//ExternalInterfaceクラスのインポート
import flash.external.*;

stop();

//js関数を許可し、as関数を実行させる
ExternalInterface.addCallback("playJs",playAs)


//関数定義、引数をjsから受け取る事も可能
function playAs(){
	play();
}
last update 2009.12.24
参考・出典等
「実践マスターProfessional 吉岡梅 著」
Adobe External API の使用

▲page top

topmemogalleryblogtestaboutlinksmail
Copylight(C)2008-2009 Riptac. All Rights Reserved.