(注: 以下のほとんどは、Web サーバーを使用せずに HTML ファイルをモバイル ブラウザーでローカルに実行しているとわざわざ言う前に書かれたものです。実際にウェブページを作成している他の人のために残しました。)
1) ページが初めてロードされた後、HTML 内に .js ファイルを挿入する方法はありますか?
はい、実際にはとても簡単です (実際の例: run / edit ):
var script = document.createElement('script');
script.src = "path/to/the/file.js";
document.body.appendChild(script);
appendChild
スクリプトは非同期で読み込まれることに注意してください (呼び出し後に読み込まれるとは限りません)。
script
ただし、27MB のファイルをダウンロードしている間にページを表示することが目標である場合は、タグをページの最後、終了タグの直前に置くことができます</body>
。更新: Web ページではなく、ローカルの HTML ファイルを実行している場合は、これで十分だと思います。ページの最後にある単一のスクリプト タグで、27 MB の .js ファイルをロードします。
2) Web ページ内にこのような大きな JavaScript コンテンツを含めるための最適なソリューションは何でしょうか?
理想的には、可能であればサイズを小さくしてください。アセットを必要に応じてデマンドロードできる場合 (上記の手法またはajaxを使用)、代わりにそれを実行してください。更新: Web ページではなくローカル ファイルを実行している場合、基本的に ajax を確実に実行することはできません。script
ただし、上記のように要素を追加することで、必要なときに必要なものをデマンドロードできます。
27 個の 1MB .js ファイルについて:script
それらのタグをハードコードする場合、27 個の 1MB ファイルよりも 1 つの 27MB ファイルを作成する方がはるかに優れています。サーバーへの HTTP リクエストを最小限に抑えること (理想的には、多くても .js ファイルと 1 つの .css ファイル) は、ページの読み込み時間を改善するための重要な方法の 1 つです。ただし、あなたの場合、さまざまなものがクリックされるまでさまざまな部分は必要ないと言ったので、おそらくメインファイル(できれば27MBよりもはるかに小さい)になり、その後たくさんの必要に応じて(上記のように)ロードを要求するその他のもの。
他にできること:
- .jsファイルを縮小、圧縮、または「コンパイル」します (通常、これはコメントなどを削除する一方向のプロセスであるため、「ソース」ファイルと「実稼働」ファイルが別々になることを意味します)。
- サーバーが gzip 圧縮を使用して .js ファイルを提供していることを確認します (たとえば、Apache ではmod_deflateを使用します)。さまざまな ツールで動作することをテストできます
また、非常に読む価値があります:ウェブサイトを高速化するためのベスト プラクティス。これにより、上記のポイントがさらに多くなります。