様々なライブラリのお陰でJavaScriptでドキュメントをゴニョゴニョするのが簡単になったので、代替コンテンツを用意することはあまりなくなった。そのためnoscript
要素が使われているページを見ることはまず無い。などと始めながらそういう代替コンテンツのためのnoscript
要素の話ではなく、head
要素内でうまく使うとJavaScriptの有効・無効でユーザーを振り分けられるという話。
具体的には以下のように書く。
<head>
<noscript>
<meta http-equiv="Refresh" content="0; URL=noscript.html">
</noscript>
</head>
これでJavaScriptが無効になっている場合noscript.html
にリダイレクトされる。HTML4.01ではこういったことはできなかったのでつい最近まで知らなかった。印刷向けページ(やプレーンテキストのページ)を別個用意できている場合にJavaScriptが無効ならそれらにリダイレクトさせるという利用が最も効果的に使えそう。
head
要素内のnoscript
要素ではmeta
要素以外にもlink
やstyle
要素が利用できる……けど特におもしろい利用法が思いつかない。JavaScriptに依存するパーツを隠すためのスタイルを取り込むとかだろうか。