Web標準化時代のJavaScript

HTMLではなくXHTMLの場合のscriptタグ

HTMLではなくXHTMLでページが制作される場合にはscriptタグ部分も変更しなければならないことがあります。XHTMLはXMLなのでXMLのルールに従う必要があります。通常、HTMLでは以下のように<!-- 〜 -->のコメント内にスクリプトを記述します。【サンプル1を実行
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<script type="text/javascript"><!--
alert("JavaScript");
// --></script>
</head>
<body>
<p>ページが読み込まれるとアラートダイアログを表示します</p>
</body>
</html>
コメントはHTMLでもXMLでも同じなので問題ありませんが、場合によっては以下のように<![CDATA[ 〜 ]]>内にスクリプトを記述することになります。先頭部分の//はJavaScriptではコメントとして扱われるので問題はありません。JavaScriptとは、あまり関係ありませんがWindows版のInternet Explorer 6では1行目にXML宣言があると互換モードになってしまい不具合が発生することがあります。これを回避するには1行目でXML宣言を行わないようにします。JavaScriptでは現在、標準モードで動作しているのか互換モードで動作しているのかを調べることは可能です。【サンプル2を実行
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sample</title>
<script type="text/javascript">
//<![CDATA[
alert("JavaScript");
//]]>
</script>
</head>
<body>
<p>ページが読み込まれるとアラートダイアログを表示します</p>
</body>
</html>