<!-- -->の書き方

[新着] Webテンプレートを仮オープンしました



0   名前: MIYU : 2006/09/24(日) 21:41  ID:vwn3o/wk
こんにちは。
下のような書き方はよくないということなのですが、なぜなのかよく
分かりません。教えてください。よろしくお願いします。
問題は、<!-- -->の書き方とのことです。
<script type="text/javascript"><!--

(関数などを書く)

// --></script>


1   名前: はな : 2006/09/24(日) 21:41  ID:fXnL3zQw
自分もよくわかりませんが。
<script type="text/javascript"><!--

(関数などを書く)

// --></script>
サーバーやブザウザによっては、だと正しく認識されないことがあるので、
<script type="text/javascript">
<!--

(関数などを書く)

// -->
</script>
書けということでは、ないでしょうか。
経験的なはなしですみません。
実際のとこよく分からないんだけど・・・。
でも、<!-- -->は書かないと不要なスペースがサイト内にできますよ。


2   名前: MIYU : 2006/09/24(日) 21:41  ID:L3LvMlsd
>>1
はなさん、ありがとうございます。
>でも、<!-- -->は書かないと不要なスペースがサイト内にできますよ。
とのことですが、どういうことでしょうか?
実は、これって古いブラウザ対策だから、私自身は今どきと思って書い
ていないんですが。
サイト内というのがイマイチよく理解できません。

3   名前: 匿名 : 2006/09/24(日) 21:41  ID:i4s77xzC
>>0-1
情報源はわかる?そういう話は聞いたことがないなあ。
少なくともサーバは関係ないと思うんだけど。

ちなみに、以下のように書いてはいけないのは確かだ。

<script type="text/javascript">
<!-- alert('NG'); //-->
</script>


スクリプトエンジンは最初に文字列<!--が現れることを許容し、
その行の行末までを無視する。
上記のように書くと、<!--と同じ行のスクリプトデータは無視されてしまう。

>>2
> 実は、これって古いブラウザ対策だから、私自身は今どきと思って書い
> ていないんですが。

全くその通り。script要素のコメントアウトなんて半ば都市伝説だったんだが、
実はscript要素を認識しない(いまどき!)携帯電話の普及や検索クローラのせいで
伝説が現実になってしまった。

俺も個人的なページやさくっと書く場合にはコメントアウトしないが、
そのページを公開する場合には、コメントアウトした方が無難ではあるだろう。

# ただしコメントアウトすると文法的に面倒くさい事態が発生する。
# たとえば、コメント中には連続する2つ以上のハイフンを含めてはならない。
# つまり、n--のような演算子は使えない。

さらにややこしいことに、XHTMLではscript要素内をコメントアウトしてはいけない。
本当にコメントと見なされ、実行されないからだ。

# ただしコメントアウトしなければそれで良し、というわけにはいかない。
# マークアップと見なされうるあらゆる書式(<、&など)を排除しなければならない。

まぁHTMLにせよXHTMLにせよ、外部スクリプトにすれば文法的には何も考えなくてすむ。
それでも別の問題はいろいろあるんだが(苦笑

一覧へ戻る