javascriptのscriptタグ前後にHTMLコメントをつけるプログラムをみたことがありますが、あれはいったいなぜでしょうか?
どなたかご教授おねがいします
HTML
1<script> 2<!-- 3--> 4</script>
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
古いブラウザの一部はscript要素を解釈できないことがあり、その場合script要素の内容がそのままテキストとして表示されてしまうため、script要素の内容に対してコメントアウトを行うことで古いブラウザでscript要素の内容がテキストとして表示されてしまうことを防いでいます。モダンブラウザには必要の無いものですが、もしも古いブラウザも対応させたいならば記述しておいたほうが良いと思います。また、HTML4.01ではコメントの終了は//-->
というように記述しなければSyntax Errorになってしまいましたが、HTML5では-->
と記述できるようになりました。
HTML4.01
HTML
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2<html lang="ja"> 3<head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <meta http-equiv="Content-Style-Type" content="text/css"> 6 <title>タイトル</title> 7</head> 8<body> 9<script type="text/javascript"> 10 <!-- 11 console.log("テキスト"); 12 //--> 13</script> 14</body> 15</html>
HTML5
HTML
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>タイトル</title> 6</head> 7<body> 8<script> 9 <!-- 10 console.log("テキスト"); 11 --> 12</script> 13</body> 14</html>
投稿2017/07/17 01:09
総合スコア14731
0
過去に同様の質問がありました。
Re: JAVA_SHINE さん
投稿2017/07/17 01:47
総合スコア18194
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
他の方が書いていらっしゃるように古いブラウザへの対応もありますが、サーチエンジンへの影響が考えられます。
Webサーバのアクセスログなどをチェックすると、稀にスクリプト内の文字列を誤認識し、存在しないページへアクセスして404を出しているクローラーのアクセスが見つかることがあります。
Googleなどは問題ないですが、他がどのように解釈するか予測できませんから、コメントも併用して本文では無いことを表明しておかれるほうがいいでしょう。
別の問題としてscript本文中にコメントが閉じられていると認識されると効果が無くなりますので、デクリメント--や比較演算子などにも注意が必要です。
( たとえば while(i-->0) { ... }
など )
できれば認証なしでアクセス可能なページは全て、html内ではなく外部の.jsファイルに出しておくほうが良いと思います。
投稿2017/07/26 01:33
総合スコア97
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。