17
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-04-03

掘り出し物大市。

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[]]>で囲うということで、あのコメントアウトは何の意味も為していなかった...。

結論

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

17
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?