2007年4月23日

XHTMLstrict に Flash を表示する

隠居のFlash:<object> と<embed>で書いたように、どのブラウザでも動くように Flash をHTMLに埋め込むには、<object> と<embed>という同じようなタグを書かねばならない。最近はHTMLをもっと厳密(strict)に書いて、どのブラウザでも動くようにしようということで、W3C(The World Wide Web Consortium )は、XHTML strict を推奨している。この XHTML strict では、<embed>タグは使えない。現在MovableTypeで使っている「小粋空間」さんのテンプレートは、移行段階のXHTML Transitional なので現状で困っているわけではないが、Flashを XHTMLstrictで表示させる(embedタグを使わずに表示させる)コードが紹介されていたので、ブログのヘッダー部分の Flash を変更してみた。
 上が、変更前のコードで <embed> が使われている。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60"> <param name="movie" value="http://n-shuhei.net/Libraly/Flash/forMT/F_title.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent" /> <embed src="http://n-shuhei.net/Libraly/Flash/forMT/F_title.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" width="468" height="60"></embed> </object>

変更後
<object data="http://n-shuhei.net/Libraly/Flash/forMT/F_title.swf" width="468" height="60"type="application/x-shockwave-flash"><param name="movie" value="http://n-shuhei.net/Libraly/Flash/forMT/F_title.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /></object>

 ただ W3Schools の XHTML validation で調べてみると、現在のテンプレートなどを XHTMLstrict に対応させていくには、かなりの修正が必要なようである。気が付くたびに変更をしていきたいと思っている。

(追記:2007/2/11) XHTML validation は、日本語のAnother HTML-lint gateway というサイトがある。エラーを教えてくれる表示が日本語なので分かりやすくて良い。ただ、そこで自分のメインページを検証してみるとあまりにも単純なエラーが多いのに愕然としている。

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)