HTML
JavaScript
XHTML
Web考古学

<script>の中をコメントアウトするやつ、なんなん?

掘り出し物大市。


TL;DR

ガラケーとIE3対応がなければ不要。

まずその前にスクリプトはhtmlから.jsに切り分ける。


経緯

XHTMLの管理画面を触っていて、ふとこんなのを見かける。

<script type="text/javascript">

<!--
// 省略
// --> </script>

この<!--// -->でjavascriptを囲むのが一体何者なのか気になり、調べてみた。


コメントアウトの目的

scriptタグ内が表示(レンダリング)されてしまわないようにする、のは知っていたが、

一体、何に対しての配慮なのかは見当がつかない。

teratailで丁寧に回答されている方が居た。

https://teratail.com/questions/28215#reply-44118

拙い知識で時系列順にまとめると、



  • HTML3.2

    scriptタグの中は将来的にスクリプトに使用し、ブラウザでは非表示にする旨の記述


  • HTML4.01

    scriptタグを理解しないブラウザのための、コメントアウト方法について勧告

    (ここで上記のコメントアウト方法が出たんですね。)


  • XHTML

    scriptタグ内で<![CDATA[]]>で囲う


  • HTML5

    そもそも認識の仕方が違うので、コメントは不要

というところか。

つまり、HTML4.01時代であれば必要だったこともあったが、HTML5で書き始めたら、コメントアウトは不要である。

XHTMLなら<![CDATA[]]>で囲うということで、あのコメントアウトは何の意味も為していなかった...。


結論

いま自分の書いているコードに疑問を持とう。