ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
noscript 要素とは
noscript 要素は、JavaScript が無効化されているか、もしくはブラウザが JavaScript をサポートしていないときだけ表示される代替コンテンツを記述するための要素です。
かつては「JavaScript を有効にしてください」と表示するための定番でしたが、現代では SEO / アクセシビリティ / 遅延読み込みのフォールバックなど、より洗練された用途で使われます。
基本構文
<script>
document.write('<p>JavaScript で表示されたコンテンツ</p>');
</script>
<noscript>
<p>このページは JavaScript を有効にするとより便利にご利用いただけます。</p>
</noscript>
配置できる場所
| 配置 | 使えるコンテンツ |
|---|---|
head 内 | link / style / meta のみ |
body 内 | 任意のフローコンテンツ (p / a / img など) |
<head>
<link rel="stylesheet" href="styles.css">
<noscript>
<link rel="stylesheet" href="no-js-fallback.css">
</noscript>
</head>
主要な用途
1. ユーザーへの通知
古典的だがいまでも有効な用途。アプリ内蔵ブラウザや厳格なセキュリティ設定の環境で表示されます。
<noscript>
<div class="alert">
このサイトを正しく表示するには JavaScript を有効にしてください。
</div>
</noscript>
2. SEO / クローラ向けの代替コンテンツ
SPA (React / Vue / Angular など) では JavaScript で描画するため、クローラに本文を渡せないケースがあります。最低限のリンクや要約を noscript に書いておくと SEO 補助になります。
<div id="app"></div>
<script src="app.js"></script>
<noscript>
<h1>サイトタイトル</h1>
<p>このサイトは JavaScript で動作しています。
JavaScript なしでも以下のページから情報を取得できます。</p>
<ul>
<li><a href="/articles">記事一覧</a></li>
<li><a href="/about">運営者情報</a></li>
<li><a href="/contact">お問い合わせ</a></li>
</ul>
</noscript>
3. 画像の遅延読み込みフォールバック
JS で画像を遅延読み込みする実装では、JS 無効環境で画像が表示されなくなります。noscript に通常の img を入れて回避。
<!-- 遅延読み込みする画像 -->
<img class="lazy" data-src="/photo.jpg" alt="写真">
<!-- JS 無効時のフォールバック -->
<noscript>
<img src="/photo.jpg" alt="写真">
</noscript>
近年はネイティブの loading="lazy" 属性が普及したため、この用途は減少傾向。
4. アクセス解析のフォールバック
Google Analytics や類似のアクセス解析は JS で動くため、JS 無効環境のアクセスを記録できません。noscript 内に画像ピクセルを入れて代替計測。
<noscript>
<img src="/track.gif?nojs=1" alt="" style="display:none">
</noscript>
注意点
| 注意 | 内容 |
|---|---|
| 判定基準 | 「JS 無効」だけでなく「JS 未サポート」も対象。ただし現代ブラウザでは未サポートは稀 |
| 同時表示はされない | script と noscript はどちらか一方のみ実行される |
| head 内の制約 | head 内では link / style / meta 以外を入れるとパースエラー |
| SEO クローラ | Googlebot は JS を実行するので noscript 内容は補助的な扱い |
CSS で「JS 無効」を表現する別の方法
html 要素に no-js クラスを初期付与しておき、JS が動いたら js に置き換えるパターンも一般的です。
<html class="no-js">
<head>
<script>
document.documentElement.classList.remove('no-js');
document.documentElement.classList.add('js');
</script>
</head>
<body>
<p class="show-no-js">JS が無効です</p>
<p class="show-js">JS が有効です</p>
</body>
</html>.show-js,
.show-no-js { display: none; }
.js .show-js { display: block; }
.no-js .show-no-js { display: block; }
FAQ
Q: 現代において noscript は必要?
A: JS 無効率は 1% 未満だが、セキュリティ上 JS を切っているユーザー (NoScript 拡張機能利用者など)、クローラ / 旧端末のために、最低限の情報を提供する価値はある。
Q: <noscript> 内に script を入れていい?
A: 仕様上は body 内ならフローコンテンツが入るので問題ないが、意味的に矛盾するので避ける。
Q: SPA のクローリング対策には十分?
A: 不十分。noscript は補助。SSR (Server Side Rendering) / SSG (Static Site Generation) / 動的レンダリングなどを併用すべき。
関連要素
script— JavaScript の埋め込みtemplate— JS で複製する HTML 雛形iframe— 別文書の埋め込み
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- figure要素
- template要素
- figcaption要素で図に説明を付ける
- canvas要素
- iframe要素
- script要素
- noscript要素
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?