JavaScript の古い書き方

[up] [prev] [next]

未対応ブラウザへの配慮

以前は、JavaScript に未対応のブラウザが、スクリプト部分を HTML の一部として画面に表示してしまうのを防ぐために、スクリプト全体を <!-- ... --> でコメントアウトしていました。// は JavaScript のコメントです。

HTML
<script>
<!--
document.write("Hello");
// -->
</script>

また、<noscript>~</noscript> の間には、JavaScript をサポートしていないブラウザに対するメッセージを記述していました。

HTML
<script>
<!--
document.write("Hello");
// -->
</script>
<noscript>
JavaScript対応ブラウザで表示してください。
</noscript>

しかし現在では、未対応ブラウザは皆無ですので、コメントアウトする必要は、あまりなくなってきました。

言語指定

1995年頃の JavaScript では、language 属性で JavaScript のバージョンを指定していました。例えば、次のようにすると、JavaScript 1.2 をサポートしているブラウザでのみ、JavaScript を動作させることができます。

HTML
<script language="JavaScript1.2">
document.write("JavaScript 1.2 をサポートしてるよ");
</script>

1997年12月に勧告された HTML 4.0 では、language 属性は却下され、代わりに type 属性が必須属性として定義されました。値には "text/javascript" を指定します。

HTML
<script type="text/javascript">
document.write("Hello!!");
</script>

また、イベントハンドラ (onxxxx="...") に記述したスクリプトの種別を指定するため、HTML 4.0/4.01 では、HTML のヘッダ部に、下記のように Content-Script-Type を記述することが推奨されました。

HTML
<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 の記述も不要です。

HTML
<script >
document.write("Hello!!");
</script>

<input type="button" onclick="alert('Hello!!')">

[up] [prev] [next]
Copyright (C) 1996-2017 杜甫々
改訂版初版:2001年5月20日、最終更新:2017年12月10日
http://www.tohoho-web.com/js/write.htm