HTML で JavaScript を使用する

HTML で JavaScript を使用する

<script> タグ

HTML5では、スクリプトには次の属性があります: async、defer、charset、src、type、

  • 非同期(オプション):

キーワード: 非同期スクリプト、外部ファイル、即時ダウンロード。

タグにこの属性が含まれている場合、スクリプト(外部ファイル)はすぐにダウンロードされます。外部スクリプトファイルに対してのみ有効です。ダウンロード中もページ上の他の操作は実行できます。ダウンロードが完了すると解析と実行が停止され、実行後も解析は続行されますが、実行順序は保証されません。

<script src="js/index2.js" async="非同期"></script>
  • 延期(オプション):

キーワード: 遅延スクリプト、外部ファイル、遅延読み込み。

タグにこの属性が含まれている場合、スクリプトはページが完全に解析または表示されるまで実行を待機できます。これは外部ファイルに対してのみ有効です。同時に defer が指定された 2 つのスクリプトがある場合、遅延により前者が後者より先に実行されます。

<script src="js/index1.js" defer="遅延"></script>
  • 文字セット(オプション):

キーワード: 文字セット

ほとんどのブラウザはすでにその値を無視しているため、ほとんど使用されません。

  • src (オプション):

キーワード: 外部参照

参照する必要がある外部ファイルのアドレスを示します。

  • タイプ(オプション):

キーワード: MIME (スクリプト言語のコンテンツ タイプ)

ブラウザの互換性を最大限に確保するために、type 属性の値は主に text/javascript のままです。この属性が記述されていない場合、デフォルト値は text/javascript のままです。

注意: 外部ファイルを参照する場合、タグ内に他の JS コードを追加しないでください。解析時に、ブラウザは src によって参照される外部スクリプト ファイルのみをダウンロードし、テーブルに埋め込まれたコードは無視されます。

<script> タグの位置

通常、外部ファイル (CSS ファイル、JavaScript ファイルを含む) を含むタグへの参照は、同じ場所 (通常は <head> タグ内) に配置します。

ただし、解析プロセス中に複数の JavaScript 外部ファイルに遭遇すると、すべての外部ファイルが読み込まれるまでページを完全に表示できないため、通常は次のように <body> タグの下部に配置します。

上で <script> に defer 属性があることを説明しましたが、HTML5 で説明されているように、HTML5 では埋め込みスクリプトに設定された defer 属性は無視されます。現在、defer 属性をサポートしているのは IE4 ~ IE7 のみです。IE8 以降は HTML5 標準に完全に準拠するため、<script> を <body> タグの下部に配置するのが依然として最善の選択です。

外部ファイルを参照する利点

  • 保守が簡単: すべての JavaScript ファイルを 1 つにまとめると、HTML コードに触れる必要がなくなるだけでなく、開発者がコードを作成して保守しやすくなります。
  • ブラウジングの高速化: 複数の HTML ページが同じ JavaScript 外部ファイルを参照する場合、ファイルは 1 回だけ読み込まれる (キャッシュされる) ため、ページの読み込み速度を高速化できます。
  • セキュリティ: 外部ファイルを参照する場合、ユーザーが HTML コードを表示すると JavaScript コードは表示されないため、タグ内に記述するよりも安全です。

<noscript> タグ

文字通りの意味は NO-script、つまりスクリプトなしです。つまり、ブラウザが JavaScript をサポートしていない場合は、<noscript> タグ内のコンテンツが表示されます。

  • お使いのブラウザはスクリプトをサポートしていません。
  • ブラウザはスクリプトをサポートしていますが、JavaScript は無効になっています。

上記の 2 つの条件のいずれかが満たされると、<noscript> タグ内のコンテンツが表示されます。

上記のページは、ブラウザが JavaScript をサポートしていないか無効になっている場合にのみ表示されるメッセージをユーザーに提供します。それ以外の場合、ユーザーにはメッセージが表示されず、ページ上の他の要素の表示にも影響しません。

要約する

上記は、私が紹介した HTML で JavaScript を使用するサンプル コードです。お役に立てば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  Linux システムで Tomcat を自動的に起動するための設定方法の紹介

>>:  将来最も成功する企業はテクノロジー企業でしょうか、それともデザイン企業でしょうか?

推薦する

InnoDB がトランザクション分離レベルを巧みに実装する方法

序文前回の記事「MySQL ロック メカニズムの詳細説明」では、InnoDB のロック メカニズムに...

Vueは視覚的なドラッグページエディタを実装します

目次ドラッグアンドドロップの実装ドラッグイベントドラッグして開始リリースゾーンでの移動境界処理、角度...

Docker Tomcat のアクセス インターフェイスが表示されないのはなぜですか?

質問:オリジン サーバーはターゲット リソースの表現を見つけることができないか、既存の表現を公開した...

Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

2つの目的のためのリソースの結合と圧縮httpリクエストの数を減らす要求されたリソースのサイズを縮小...

仮想スクロールを簡単に実装するためのVueサンプルコード

目次序文ローリング原理成し遂げるソースコード参照する序文モバイル Web ページの日常的な開発では、...

Dockerイメージのインポートとエクスポートの実装

GitLabのDocker使用法gitlab ドッカー起動コマンド docker run -d -p...

jsはシンプルなカウントダウンを実装します

この記事の例では、参考までに簡単なカウントダウンを実装するためのjsの具体的なコードを共有しています...

Docker で Harbor パブリック リポジトリを構築する方法の例

前回のブログ投稿では、レジストリのプライベート ウェアハウスについて説明しました。今日は、Harbo...

シンプルなスネークを実現するためのネイティブjsキャンバス

この記事では、参考までに、簡単なスネークゲームを実装するためのjsキャンバスの具体的なコードを共有し...

CSS で放射状グラデーションを使用してカード効果を実現する

数日前、同僚がポイントモールプロジェクトを受け取りました。このプロジェクトには、カードやクーポンをギ...

select count() と select count(1) の違いと実行方法

Count(*) または Count(1) または Count([column]) は、おそらく S...

CSS scroll-snap スクロールイベント停止と要素位置検出の実装

1. スクロールスナップはフロントエンド開発者にとって必須のスキルですCSS スクロール スナップは...

Linux touch コマンドの使用例

Linux touch コマンドの詳細な説明: 1. コマンド機能:ファイルまたはディレクトリの作成...

DQL コマンドを使用して MySQL でデータをクエリする方法

この記事では、MySQL でよく使用されるデータ クエリ言語について説明します。 DQL (データク...

背景位置パーセンテージ原則の詳細な説明

今日、誰かがコードを調整するのを手伝っていたとき、次のようなスタイルを見つけました。 背景位置: 5...