備忘録的プログラミングリファレンス

script タグエレメント

 script タグエレメントは、JavaScript といったスクリプトプログラムを包括するための HTML タグエレメントです。

 <head> または <body> エレメント内で使用できます。

<script> エレメント
<!-- スクリプトの直接記述 -->
<script>
...
</script>

  <script> エレメントは、スクリプトを読み込む、または記述するために利用されます。ここでは <noscript> についても解説しています。

 スクリプトコードを script タグエレメントで囲むことでプログラムとして実行してくれます。
 スクリプトはそのまま HTML テキストに編集することはできません。テキストとして解釈されます。

 HTML5 以降は JavaScript が既定のスクリプトになっています。HTML5 の web ページとするには <!DOCTYPE> を参照してください。

script タグエレメントの使い方

 スクリプトの宣言にはスクリプトファイルを読み込む方法と、直接 HTML テキストに書き込む方法があります。
 さらに、スクリプトが利用できなった場合の配慮も忘れていはいけません。

script タグエレメントの使い方
<!-- スクリプトファイルの読み込み -->
<script type="text/javascript" src="xxx.js" />

<!-- スクリプトの直接記述 -->
<script type="text/javascript">
...
</script>

<!-- スクリプトが利用できない場合の配慮 -->
<noscript>このページにはscriptが含まれています</noscript>

 HTML5 以降は meta 宣言とtype="text/javascript"は省略可能です。MIME にはapplication/javascriptという値もあります。

 HTML5 の web ページとするには<!DOCTYPE html>と宣言されたページでなければなりません。詳しくは <!DOCTYPE> を参照してください。

 以下に、スクリプトのメタ宣言、ファイルの読み込み、直接記述、スクリプトが利用できない場合の配慮についてそれぞれ解説しています。

Script メタ宣言

 HTML5 以降では JavaScript が既定のスクリプトとされ、以下のような meta 宣言は不要になりました。

 HTML5 以前の仕様で作成されたページでは、スクリプトを利用するためには先に <meta> エレメントで script のタイプを宣言しました。

Script メタ宣言
<meta http-equiv="Content-Script-Type" content="text/javascript" />

 ここでは JavaScript であることを前提としています。

Script ファイルの読み込み

 外部ファイルとして作成したスクリプトファイルを読み込むには <script> エレメントを以下のように使います。

Script を直接記述
<script type="text/javascript" src="example.js" />

 HTML5 以降は JavaScript が既定スクリプトになっていますので以下のようにtype="text/javascript"は省略可能です。

<script src="example.js" />

 以下のように Script は HTML テキスト内に直接記述することもできます。

Script を直接記述

 スクリプトを直接書くこともできます。<head><body> 内に記述することができます。

Script を直接記述
<script type="text/javascript">
...
</script>

 直接記述の場合でも HTML5 以降は JavaScript が既定スクリプトになっていますので以下のようにtype="text/javascript"は省略可能です。

<script>
...
</script>

代替テキスト <noscript>

 スクリプトに対応していない場合は代替として <noscript> エレメントでスクリプトを使用している旨を表示します。
 <noscript> エレメントは、<body> 内に記述します。

代替テキスト <noscript>
<noscript>このページではscriptを使用しています。</noscript>

JavaScript

 <script> を定義は HTMLScriptElement を参照してください。