JavaScriptでswfファイルを表示(XHTML1.0準拠)

W3Cでvalidateチェックする、embedで怒られる人は今すぐチェック!!

JavaScriptでswfファイルをブラウザ毎にタグを切り替えて出力するスクリプトの紹介です。

SWFObject

こちらのサイトで作成されているJavaScriptファイルは、「swfファイルをXHTML1.0でも怒られないようにする」スクリプトが作成されています。

まずはサイトにアクセスし、「Download」をたどり、「Download SWFObject x.x」からダウンロードします。

x.x」はバージョンです。

ダウンロード完了後、swfを埋め込んでるページを何か(テキストエディタなり、DreamWeaverなり・・・)で開きます。

開いたら、「head」で先ほどダウンロードしたファイルに入っている「swfobject.js」を読み込ませます。

いろいろとありますが、上から順に。

「var so = new SWFObject();」はswfを読み込む準備を行っています。
引数は以下の通り。
var so = new SWFObject(swf, id, width, height, version, background-color [, quality]);
swf:swfファイルのパスを含めたファイル名を記述します。
id:swfを埋め込むときに付与されるID属性。任意でOKです。
width:swfの幅を指定します。
height:swfの高さを指定します。
version:再生できるFlashPlayerのバージョンを指定します。ここで「7.0.1」の様に指定すると、「7」以上の扱いとなります。
background-color:背景色を指定します。
quality:「low」、「middle」、「high」のいずれかを記述します。デフォルトでは「high」です。

記述が完了したら、以下のコードを記述します。

so.write("flashcontent");

「flashcontent」は「swfオブジェクトを埋め込みたいid名」を記述します。

記述例は以下の通りになります。

so.write("flashcontent") ;

この時注意しなければならないのは、「埋め込みたいidのついたタグより先にscriptタグで記述してはいけない」ところです。

理由として、指定された箇所がレンダリングされていないので該当するID名を見つける事ができないからです。

なので記述する際は必ず、「埋め込みたいidのついたタグより後にscriptタグを記述」します。

デモファイルはダウンロードしたファイルに同梱されていますので、わかりづらかったらそちらを参照していただけると幸いです。

このファイルを見つけるまで自分で作るぞ!!と思って作ってみましたが、見つけた時にはorzとなりました☆