1. Home
  2. Archive
  3. SWFObject.jsってvalidじゃなかったんだね

SWFObject.jsってvalidじゃなかったんだね

flashを表示するためのjavascriptライブラリで有名なswfobject.jsというのがあって、僕もよく使ってたんですけど、これってFirefoxで使用すると出力されるHTMLってembed要素なんですね。知らなかった。(他のブラウザでは未確認)

Firebugのソース。embed要素が出力されている。
Firebugでソースを確認

embed要素はXHTML1.0で定義されてない要素です。仕様書を見ると、javascriptでDOM操作後もvalidでないといけないことになっています。

HTML文書は、どのSCRIPT要素の処理前も処理後も、HTML DTDに適合するよう制約される。

んで、探したらvalidなHTMLを出力してくれるライブラリを見つけました。

cyano: 2006年4月のActiveXパッチがあたったIEでFlashなどを従来通り表示させるためのJavaScript(Flashのバージョン検出機能付き)

このライブラリを使えばFirefoxでもobject要素で出力してくれるのでHTMLソースはvalidに保たれます。今後はこっちを使っていこうかと検討中です。

ちなみにjavascriptでDOM操作された後のソースもvalidじゃないといけないとなると、google adsenceとかもダメということになります。人それぞれの考え方もあるでしょうが、僕は自分がやれる範囲で正しいソースを書けばいいかな思ってます。

トラックバック一覧

  1. CSS Lecture 2008年5月27日 18時31分

    swfファイルを簡単に埋め込めるswfobject.js…

    XHTMLにswfファイルを埋め込む時にすごく便利なのが本家サイト:deconc… (more…)

コメント一覧

  1. デッドリー 2008年3月18日 19時03分

    あー、そういえばこういうのもありましたねえ。

    いつか使おう、使おうと思っていて、そのまま放置していましたw。

  2. hoka(管理人) 2008年3月18日 21時31分

    >デッドリーさん

    僕は今まで知りませんでした・・・そもそも、あまりFlashを使わないというのもあるんですけどねw

コメントフォーム

※HTMLタグは使用できません。