オーソドックスなパターン
HTML5 では、比較的自由なマークアップができる(特殊な事例は後述) ようになっていますが、
HTML4 時代から利用される2パターンが基本となります。
- メタ情報関連のタグをまとめてマークアップする
<head>
の子要素
- コンテンツをマークアップする
<body>
の子孫
古くは マークアップルールを定めた文書型宣言(<!DOCTYPE>
)に 1. しかありませんでしたが、ブラウザは 2. を許容していました。
<script> の「許可されている親要素」を見ると、HTML5 でも 上記2つのパターンを想定しているようです。
特殊な事例
HTML5 の <html>、<head>、<body>はいずれも「タグの省略」が一定の条件下で認められています。
このことから、<html>
, <head>
, <body>
の無くとも
応答ヘッダ Content-Type
が text/html
となるコンテンツでは<script></script>
を書くことができます
(ローカル環境下の極端な例で 「script要素のみ」を試しました)。
「script 要素のみ」というのは、公開するWebページとしては使えないものの、
スクラッチでブラウザ用ライブラリを開発する際は活かせそうな印象です。