[解決済み] インラインJavascriptと外部Javascriptはいつ使い分けるべきですか?
2022-06-25 15:42:40
質問
パフォーマンスやメンテナンス性の観点から、外部スクリプトを含めるべきか、htmlコードにインラインで記述すべきかを教えて欲しいです。
一般的にはどのような方法があるのでしょうか?
実世界のシナリオ - 私はクライアント側のフォームバリデーションを必要とするいくつかのhtmlページを持っています。このために、私はすべてのこれらのページに含まれるjQueryプラグインを使用します。しかし、質問は、私がすることです。
- このスクリプトを構成するコードのビットをインラインで書きますか?
- これらのすべての html ページの間で共有されている 1 つのファイルにすべてのビットを含めるか。
- 各HTMLページに1つずつ、別々の外部ファイルに各ビットを含めますか?
ありがとうございます。
どのように解決するのですか?
この回答が最初に投稿された時点 (2008年) では、ルールは単純でした。すべてのスクリプトは外部であるべきです。メンテナンスとパフォーマンスの両方のためです。
(なぜパフォーマンスなのか? コードが分離されていれば、ブラウザにキャッシュされやすいからです)。
JavaScriptはHTMLのコードには含まれず、もし特殊文字(例えば
<
,
>
) のような問題が発生することさえあります。
現在では、ウェブのスケーラビリティは変化しています。複数の HTTP リクエストを行う際の待ち時間のために、リクエストの数を減らすことが有効な考慮事項となっています。このため、答えはより複雑になります。ほとんどの場合、JavaScript を外部で使用することは それでも を推奨します。しかし、特定のケース、特に非常に小さなコードの断片については、サイトの HTML にそれらをインライン化することが理にかなっています。
関連
-
vueにおけるv-forループオブジェクトのプロパティ
-
[解決済み] Error : 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] JavaScriptで二重引用符と単一引用符はいつ使うべきですか?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3レスポンシブ対応のためのsetup+ref+reactive
-
JavaScriptの関数この指摘の問題を説明
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
Vueの要素ツリーコントロールに破線を追加する説明
-
Vue+ElementUIによる大規模なフォームの処理例
-
vueにおけるv-forループオブジェクトのプロパティ
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】JavaScriptでインラインIF文の書き方は?