<style><script>要素のコメントアウト
htmlからコーディングを覚え、xhtmlへ移行したときの落とし穴
実は<style><script>要素のコメントアウトはhtml文書では問題ないが、xhtml文書ではNGであることをお恥ずかしながら最近知った。
雑誌などでコメントアウトされてないのがミスプリだなんて浅はかに思っていた(反省)。
- <style><script>要素のコメントアウトをxhtmlに書くとどうなる?
- 表面上問題ないように見える。しかしブラウザがhtmlとして処理しているからにすぎず、xmlとして処理した場合、コメント内は無視される(処理されない)。
- そもそもなぜ<style><script>要素にコメントアウトするのか?
- <style><script>要素を認識しないブラウザが要素内を適用しないばかりでなくそのままブラウザに表示してしまうのを防ぐため
- では、<style><script>要素を認識しないブラウザって何なのか?
- 1997年以前のブラウザ。
- <style>要素
- Netscape4未満、InternetExplorer4未満
- <script>要素
- Netscape2未満、InternetExplorer3未満
- 本来の意味でのコメントアウト
- 作成者の都合(管理をしやすくしたり、ソースを分かりやすくするなど)で使うもの。もちろん、そういう意図でのコメントアウトの利用はxhtmlでも問題ない。
<style><script>要素内は外部に書くのが基本であり、外部に書くのであればコメントアウトの必要はない。しかしどうしてもxhtmlファイル内に<style><script>要素の中身を記述するのであれば、コメントアウトをつけない(未対応への対応はしない)のが現在の主流であり、(匿名さん、コメントありがとうございます)。自分もこれからはそう対応していこうと思った次第。