これには保証された解決策を持たせるにはあまりにも多くの可能性がありますが、ここに行きます:
1) 上部に CSS をロードします。複数のページを持つサイトを作成している場合は、そこにすべてをロードします。1 ページのアプリケーション (ギャラリー、Twitter フィード、記事などを同じページで実行し、さまざまなセクションを開いたり閉じたりできる) を構築している場合は、ウィジェット固有の CSS の読み込みを検討できます。ウィジェットをロードしている時間 (起動時に必要でない場合)。
CSS をすばやくロードしたい場合は、CSS で @import を使用しないでください (使用します)。
2) JS の大部分をページの下部にロードします。
DOM の準備ができた後、遅延ロードできないもの、または少なくともページの下部で初期化できないものは実質的に何もありません。ページを参照し、それらへの依存を減らすためにどのように書き直すかを検討してください。
3) タイマーには注意してください -- 特に setInterval... ...管理が不十分なタイマーを使用すると、ページのパフォーマンスが大幅に低下する可能性があります。
4) ウィンドウのスクロール、サイズ変更、マウスの移動、キーダウンなどのイベント ハンドラーにはさらに注意してください。これらは 1 秒間に何度も起動するので、それらに依存する手の込んだプログラムを作成した場合は、プログラムの起動方法を再考する必要があります (つまり、ハンドラがオフになるたびにプログラムを実行しないでください)。
5) JS ファイルの提供はトレードオフです: JS のコンパイルには時間がかかります。したがって、1 つのファイルに 40,000 行をロードしている場合、ブラウザーはそのすべてをコンパイルするため、しばらくの間停止します。
18 の個別のファイルを提供する場合、18 の異なるサーバー呼び出しを行う必要があります。
それもかっこよくない。
したがって、適切なバランスは、そのページに必要になることがわかっているファイルを連結してから、ページでオプションであるすべてのもの (コメントを追加するためのウィジェット、またはライトボックス ウィジェットなど) を遅延ロードすることです。 .
そして、すべての主要な製品が起動して実行された後にそれらを遅延ロードするか、可能な限り最後の 1 秒でロードします (ユーザーが「コメントを追加」ボタンを押したときなど)。
アプリに 40,000 行をロードする必要がある場合は、開始したらすぐにヒットを取得するか、各行をロードできる順序を決定し、「ロード」インジケーターを提供します (これは遅延ロードで行う必要があります)。各ウィジェットの準備が整うまで (一度に 1 つずつ JS をロードします)。
これらは、一般的なパフォーマンスの問題を回避するためのガイドラインです。
目の前にサイトがある場合でも、具体的なことは答えにくいです。プロファイリング情報とネットワーク パフォーマンス、レンダリング パフォーマンスなどには、Chrome 開発コンソールを使用します。