JavaScript の古い書き方
このページの内容は古い書き方に関する歴史的な情報です。最新の JavaScript の勉強をしたい人には不要の情報です。
未対応ブラウザへの配慮
以前は、JavaScript に未対応のブラウザが、スクリプト部分を HTML の一部として画面に表示してしまうのを防ぐために、スクリプト全体を <!-- ... --> でコメントアウトしていました。// は JavaScript のコメントです。
<script>
<!--
document.write("Hello");
// -->
</script>
また、<noscript>~</noscript> の間には、JavaScript をサポートしていないブラウザに対するメッセージを記述していました。
<script>
<!--
document.write("Hello");
// -->
</script>
<noscript>
JavaScript対応ブラウザで表示してください。
</noscript>
しかし現在では、未対応ブラウザは皆無ですので、上記のような対応の必要は皆無になってきました。
言語指定
1995年頃の JavaScript では、language 属性で JavaScript のバージョンを指定していました。例えば、次のようにすると、JavaScript 1.2 をサポートしているブラウザでのみ、JavaScript を動作させることができます。
<script language="JavaScript1.2">
document.write("JavaScript 1.2 をサポートしてるよ");
</script>
1997年12月に勧告された HTML 4.0 では、language 属性は却下され、代わりに type 属性が必須属性として定義されました。値には "text/javascript" を指定します。
<script type="text/javascript">
document.write("Hello!!");
</script>
また、イベントハンドラ (onxxxx="...") に記述したスクリプトの種別を指定するため、HTML 4.0/4.01 では、HTML のヘッダ部に、下記のように Content-Script-Type を記述することが推奨されました。
<html>
<head>
<title>JavaScript Sample</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body>
:
<input type="button" value="OK" onclick="alert('Hello!')">
:
</body>
</html>
ただし、2014年に勧告された HTML5 では、type 属性も Content-Script-Type の指定も不要となり、指定しない場合は規定値として JavaScript が実行されることになりました。現在では、language 属性も、type 属性も、Content-Script-Type の記述も不要です。
<script >
alert("Hello!!");
</script>
<input type="button" onclick="alert('Hello!!')">