FlashコンテンツをWEBサイトに埋め込むに当たって、
参考url:
http://kyosuke.jp/portfolio/seminar/2006-04csslite/flash.html
自分はHTML編集ソフトとして「Dreamweaver8」を使ってるのですがそれでFlashオブジェクトを挿入すると、こんな感じのソースが挿入されます。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="500" height="200" title="SlideShow"> <param name="movie" value="SlideShow.swf" /> <param name="quality" value="high" /> <embed src="SlideShow.swf" width="500" height="200" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed> </object>
上記のソースを【The W3C Markup Validation Service】でチェックすると「there is no attribute “src”」とか、「there is no attribute “width”」でエラーが出ます。
最新の「Dreamweaver CS3」では対応されてるかもしれないが、未だ旧バージョンを使用してる場合に、Flashを挿入したときバリデータでエラーを出さないようにするためには次のように修正する。
1.まずは、「embed」タグを消去する。
「embed」タグはXHTMLでは使えないタグなので削除
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="500" height="200" title="SlideShow"> <param name="movie" value="SlideShow.swf" /> <param name="quality" value="high" /> </object>
2.「classid」要素を削除し「type」要素に変更
「classid」要素の代わりに、MIME typeを指定する「type=”application/x-shockwave-flash”」に変更する
<object type="application/x-shockwave-flash" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="500" height="200" title="SlideShow"> <param name="movie" value="SlideShow.swf" /> <param name="quality" value="high" /> </object>
3.「codebase」要素を削除し「data」属性に変更
「data」属性にmovieのvalueと同じFlashへのパスを追加しないと表示されないので追加。
<object type="application/x-shockwave-flash" data="SlideShow.swf" width="500" height="200" title="SlideShow"> <param name="movie" value="SlideShow.swf" /> <param name="quality" value="high" /> </object>
以上で、W3CのXHTML(Valid)規格に準じたFlashソースの書き方でした。
CakePHPって面白そうですよ。