2006年02月23日
Flash 8 を JavaScriptから操作
- lightbox
- 10:18
- トラックバックする
- カテゴリー:クリップボードとダウンロード
( Flash 7 以降)
( Flash 8 以降)
Flash はあまり詳しく無いです。ムービーは全く解らないので、
パーツとして限定利用しています。
<SCRIPT language="JavaScript"> function getVersionFromSWF() { var obj; if ( document.all ) { obj = document.getElementById("flash1"); } else { obj = document.getElementById("flash2"); } obj.SetVariable("commandType", "getVersion"); obj.Play(); } function setClipboard( strValue ) { var obj; if ( document.all ) { obj = document.getElementById("flash1"); } else { obj = document.getElementById("flash2"); } obj.SetVariable("commandType", "setClipboard"); obj.SetVariable("paramValue", strValue ); obj.Play(); } function urlDownload( ) { var obj; if ( document.all ) { obj = document.getElementById("flash1"); } else { obj = document.getElementById("flash2"); } obj.SetVariable("commandType", "urlDownload"); obj.SetVariable("paramValue", "http://自ドメインファイル" ); obj.SetVariable("paramValue2", "ローカルファイル名" ); obj.Play(); } function flash1_DoFSCommand(commandType, result) { if ( commandType == 'onProgress' ) { document.getElementsByName("disp")[0].value = result; } else { alert(commandType + ":" + result) } } function utilWeblog_DoFSCommand(commandType, result) { if ( commandType == 'onProgress' ) { document.getElementsByName("disp")[0].value = result; } else { alert(commandType + ":" + result) } } </SCRIPT> <SCRIPT language="VBScript"> Sub flash1_FSCommand(commandType, result) Call flash1_DoFSCommand(commandType, result) End Sub </SCRIPT> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=shift_jis"> <SCRIPT language="JavaScript"> </SCRIPT> </HEAD> <BODY> <OBJECT id="flash1" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width=0 height=0 > <PARAM name="movie" value="utilWeblog.swf"> <PARAM name="allowScriptAccess" value="always"> <EMBED id="flash2" name="utilWeblog" swliveconnect="true" src="utilWeblog.swf" width=0 height=0 type="application/x-shockwave-flash" > </OBJECT> <INPUT type=button value="getVersionFromSWF" onClick="getVersionFromSWF();"><br><br> <INPUT type=button value="setClipboard" onClick=" setClipboard( document.getElementsByName('data')[0].value ); "> <INPUT type=text name="data"><br><br> <INPUT type=button value="urlDownload" onClick="urlDownload();"> <INPUT type=text name="disp"><br><br> </BODY> </HTML>
Flash ( ActionScript ) のコードです
フレームが二つあり、二つ目は stop(); のみ書かれています
フレームが二つあり、二つ目は stop(); のみ書かれています
// ******************************************* // URL ダウンロード用 // ******************************************* import flash.net.FileReference; // ******************************************* // インターフェイス変数 // ******************************************* var commandType; var paramValue; var paramValue2; // ******************************************* // URL ダウンロードリスナー // ******************************************* var listener:Object = new Object(); // 実行状況 listener.onProgress = function( file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void { fscommand( "onProgress",bytesLoaded + " " + bytesTotal); } // 終了 listener.onComplete = function(file:FileReference):Void { fscommand( "onComplete",""); } // エラー listener.onIOError = function(file:FileReference):Void { fscommand( "onIOError", file.name ); } // ******************************************* // コマンド処理 // ******************************************* // バージョン文字列取得 if ( commandType == "getVersion" ) { fscommand( "getVersion",getVersion() ); } // クリップボードに文字列を貼り付け if ( commandType == "setClipboard" ) { System.setClipboard(paramValue); } // URL ダウンロード if ( commandType == "urlDownload" ) { var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); var url:String = paramValue; fileRef.download(url, paramValue2); }
Trackback on "Flash 8 を JavaScriptから操作"
このエントリーのトラックバックURL:
"Flash 8 を JavaScriptから操作"へのトラックバックはまだありません。