<script>
、<noscript>
<script>
タグはウェブページにスクリプトを挿入するために使用され、 <noscript>
タグはブラウザがスクリプトをサポートしていない場合に表示するコンテンツを指定するために使用されます。
<script>
<script>
は、スクリプトコードを読み込むために使用されます。現在では、主に JavaScript コードを読み込むために使用されます。
<script>
console.log('hello world');
</script>
上記のコードをウェブページに埋め込むと、すぐに実行されます。
<script>
は外部スクリプトを読み込むこともでき、 src
属性で外部スクリプトのアドレスを指定します。
<script src="javascript.js"></script>
上記のコードは、 javascript.js
スクリプトファイルを読み込んで実行します。
type
属性はスクリプトのタイプを指定します。デフォルトは JavaScript コードなので省略可能です。完全な書き方は実際には次のようになります。
<script type="text/javascript" src="javascript.js"></script>
type
属性を module
に設定することもでき、これは従来のスクリプトではなく、ES6 モジュールであることを示します。
<script type="module" src="main.js"></script>
ES6 モジュールをサポートしていないブラウザに対しては、 nomodule
属性を設定できます。ES6 モジュールをサポートしているブラウザは、指定されたスクリプトを読み込みません。この属性は通常、 type="module"
と組み合わせて使用され、古いブラウザのフォールバックソリューションとして機能します。
<script type="module" src="main.js"></script>
<script nomodule src="fallback.js"></script>
<script>
には他にもいくつかの属性がありますが、そのほとんどは JavaScript 言語に関連しています。詳細については、関連する JavaScript チュートリアルを参照してください。
async
:この属性は、JavaScript コードを非同期で実行することを指定します。JavaScript コードはデフォルトで同期的に実行されるため、ブロッキング効果を引き起こしません。defer
:この属性は、JavaScript コードをすぐに実行するのではなく、ページの解析が完了した後に実行することを指定します。crossorigin
:この属性を使用すると、外部スクリプトをクロスオリジンで読み込みます。つまり、HTTP リクエストのヘッダー情報にorigin
フィールドが追加されます。integrity
:外部スクリプトのハッシュ値を提供し、スクリプトの改ざんを防ぎます。ハッシュ値が一致する外部スクリプトのみが実行されます。nonce
:サーバーが HTTP ヘッダー情報で提供する暗号乱数で、スクリプトが読み込まれるたびに異なります。これは、インラインスクリプトのホワイトリストを提供するようなもので、ホワイトリストに含まれるスクリプトのみが実行されます。referrerpolicy
:HTTP リクエストのReferer
フィールドの処理方法を指定します。
<noscript>
<noscript>
タグは、ブラウザが JavaScript をサポートしていない場合、または JavaScript が無効になっている場合に表示されるコンテンツを指定するために使用されます。ユーザーが JavaScript を無効にする理由は、帯域幅を節約して携帯電話のバッテリー寿命を延ばしたり、トラッキングを防いでプライバシーを保護したりするためかもしれません。
<noscript>
お使いのブラウザは JavaScript を実行できません。ページが正常に表示されません。
</noscript>
上記のコードは、ブラウザが JavaScript コードを実行できない場合にのみ表示され、それ以外の場合は表示されません。
作者: wangdoc
アドレス: https://wangdoc.com/
ライセンス: クリエイティブ・コモンズ 3.0