FlashやQuickTimeをJavascriptで実行させる。
外部JavaScriptを使ってobject要素を呼び出す方法
QuickTimeやFlashなどの<object>タグや<embed>タグをその都度XHTMLの文書型に合わせて書き換えるのは面倒だ。(object要素でembed要素を代替えする記述)さらっと呼び出すだけで簡単に使えないモノか?。
・・・ということで、楽する方法(笑)である。
この形にしておけばタグを気にすることなく呼び出せます。
また、CGIやphpなどのスクリプト上からこれらのオブジェクトを出力したい時には行数削減wにもいいかもしれない。
もちろん、.jsの記述をlint様にっこりに<object>タグや<embed>タグをあらかじめ書き換えておけばW3C正式文書としても有効です。
オブジェクト(Flash,WindowsMedia,QuickTime)スクリプト版埋め込み記述
- Macromedia Flash(swf)
<script type="text/javascript" language="javascript"> <!-- loadQuickTime('ファイルのパス','横幅','高さ'); //--> </script> - WindowsMedia(asf or wmv)
<script type="text/javascript" language="javascript"> <!-- loadWindowsMedia('ファイルのパス','横幅','高さ'); //--> </script> - Apple QuickTime(mov)
<script type="text/javascript" language="javascript"> <!-- loadQuickTime('ファイルのパス','横幅','高さ'); //--> </script>
※'ファイルのパス','横幅','高さ'部分は書き換える。
上のそれぞれ必要なタグを呼び出したい位置に記述する。
外部スクリプト.jsのソース
object要素とembed要素を併用して記述してます。
object要素でembed要素を代替えする記述の場合は該当部分を書き換えればOK。適当な名前をつけ .jsファイル保存。
<!--
function loadFlash(url,width,height){
document.write('<object type="application/x-shockwave-flash"
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="'+width+'" height="'+height+'">');
document.write('<param name="movie" value="'+url+'">');
document.write('<param name="quality" value="high">');
document.write('<embed src="'+url+'" quality="high"
pluginspage="http://www.macromedia.com/jp/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
type="application/x-shockwave-flash" width="'+width+'" height="'+height+'">');
document.write('</embed>');
dcument.write('</object>');
}
function liadWindowsMedia(url,width,height){
document.write('<object ID="MediaPlayer" width="'+width+'
"height="'+height+'" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
standby="Loading Microsoft Windows Media Player components..."
type="application/x-oleobject">');
document.write('<param name="ShowStatusBar" value="true">');
document.write('<param name="Volume" value="false">');
document.write('<param name="ShowDisplay" value="false">');
document.write('<param name="ShowControls" value="false">');
document.write('<param name="ShowAudioControls" value="false">');
document.write('<param name="ShowPositionControls" value="false">');
document.write('<param name="AutoStart" value="true">');
document.write('<param name="FileName" value="'+url+'">');
document.write('<embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/"');
document.write('Name=MediaPlayer');
document.write('ShowControls=0');
document.write('ShowDisplay=0');
document.write('ShowStatusBar=1');
document.write('width='+width);
document.write('height='+height);
document.write('AutoStart=1');
document.write('DisplaySize=0');
document.write('ShowPositionControls=0';
document.write('ShowVolumeControls=0');
document.write('Src="'+url+'"');
document.write('</embed>');
document.write('</object>');
}
function loadQuickTime(url,width,height){
document.write('<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" ');
document.write('width="'+width+'" height="'+height+'" ');
document.write('codebase="http://www.apple.com/qtactivex/qtplugin.cab">');
document.write('<param name="src" value="'+url+'">');
document.write('<param name="autoplay" value="true">');
document.write('<param name="controller" value="true">');
document.write('<param name="loop" value="false">');
document.write('<embed src="'+url+'" type="video/quicktime"
width="'+width+'" height="'+height+'" autoplay="true"
controller="true" loop="false" pluginspage="http://www.apple.com/jp/quicktime/">');
document.write('</embed>');
document.write('</object>');
}
//-->
ページのヘッダにスクリプト呼び出しの呪文を入れておけば簡単に呼び出せることができる。
<script type="text/javascript" src="commons/javascript.js"></script>