第三回 「JavaScriptを書く時の約束ごと」
前回は最も簡単なスクリプトを記述しました。それが以下のものでした。
<html>
<head>
<title></title>
<script>
alert();
</script>
</head>
<body>
</body>
</html>
これでも期待通りに動作し問題ないように思えますが、このままで
は場合によっては、まずい状態が出てきます。まず、1つは何のスクリプト言語で記述されているか不明なため、ブラウザがたまたまJavaScriptだろうと解釈して実行しているだけにすぎないという点です。つまり状況が変われば別のスクリプト言語だ、と解釈されてしまう可能性があります。例えばVBScriptやPHPなどです。PHPはサーバー側で処理されますが、<script>タグで指定することもできます。
これを防ぐために、明確にJavaScriptである、ということを明示しなければいけません。上記のサンプルでJavaScriptである、ということを明示したものが以下のものになります。
<html>
<head>
<title></title>
<script language="JavaScript">
alert();
</script>
</head>
<body>
</body>
</html>
追加した部分はlanguage="JavaScript"です。(W3CのHTML4に準拠するのであれば、この書き方ではなくて別の書き方になります。ここでは過去の互換性などもあるので、旧来のまますすめます)
このように記述することでブラウザは何の言語か混乱することなくJavaScriptと認識しプログラムを実行します。ちなみにVBScriptと指定するとVBScriptのコードとして実行されます。
あと、もう1つ約束ごとがあります。このままだと<script>タグに対応していないブラウザでは、スクリプト部分のコードが、そのままページ上に表示され、丸見えになってしまいます。これを防ぐためにHTMLのコメントでプログラムを挟みます。上記スクリプトを書き直したのが以下のものになります。
<html>
<head>
<title></title>
<script language="JavaScript"><!--
alert();
--></script>
</head>
<body>
</body>
</html>
ただし、今度はJavaScript実行時に-->の部分でエラーになってしまいます。これを防ぐためにJavaScriptのコメント機能を使います。これが以下のものになります。
<html>
<head>
<title></title>
<script language="JavaScript"><!--
alert();
// --></script>
</head>
<body>
</body>
</html>
これが基本的なJavaScriptを記述するひな形になります。これを元にして、いろいろなプログラムを作成していきます。あと、上記サンプルは<head>〜</head>に記述していますが、以下のように<body>〜</body>タグ内に記述してもかまいません。
<html>
<head>
<title></title>
</head>
<body>
<script language="JavaScript"><!--
alert();
// --></script>
</body>
</html>
次回は、これを元にしてメッセージを表示してみます。