私は現在ASP.NETを使用してWebサイトを開発しており、Firebugを介してそのパフォーマンスを常にチェックしています...
さて、私の質問は、
すべての参照jquery参照をマスターページに配置する方が良いですか?(最初にすべてを参照してください)
または、特定のコンテンツページに特定のjquery参照を配置する方が良いですか?(参照固有のみ)
ありがとうございました!
私は現在ASP.NETを使用してWebサイトを開発しており、Firebugを介してそのパフォーマンスを常にチェックしています...
さて、私の質問は、
すべての参照jquery参照をマスターページに配置する方が良いですか?(最初にすべてを参照してください)
または、特定のコンテンツページに特定のjquery参照を配置する方が良いですか?(参照固有のみ)
ありがとうございました!
サイト全体のスタイルである限り、スタイルシートをマスター ページに配置するのが最善だと思います。HTTP 要求を減らすために、それらを 1 つのダウンロードに圧縮することも検討する必要があります。
メンテナンスに関しては、jquery 参照オブジェクトのスコープに応じて、各参照を所属する場所に配置します。
たとえば、レンダリングされたすべてのページ、つまりマスター ページに存在するメイン ナビゲーションなどと関係がある場合は、MasterPage などに$("#navBar")
近いものを用意する必要があります。<div id="navBar">...</div>
一方、それが特定のコンテンツ ページに関連するものである場合、たとえば、ホームページに必要な光沢のあるカルーセル (およびその特定の jQuery プラグイン) を考えてみ$('myCarousel').carousel(2);
ましょう<div id="carousel">
。
また、コンテンツを所属する場所にディスパッチしている間に、カルーセル プラグインがホームページでのみ必要であると確信できる場合は、HomePage.aspx コンテンツ ページのみにプラグインを含めることをお勧めします。
メンテナンスが容易になるだけでなく、変数が使用されたときにのみ変数を初期化する可能性が高くなるため、パフォーマンスの面でもメリットが得られるため、ブラウザーのメモリ オーバーヘッドが少し少なくなります。プラグイン関連のリソースの読み込みについても同じです (サイトのどこかで必要なすべてのものにマスターがリンクしているため、すべてのページの読み込みが肥大化するのは望ましくない場合があります)。
一般的に言って、複数のページで使用するライブラリまたはプラグインを特定し、それらをそれらのページ内に自動的に配置する場所に含めることをお勧めします。
保守性のために、私は通常、すべてのサードパーティライブラリ(jQuery、jQuery-UI、Backboneなど)を、サイト全体で使用することがわかっているプラグインとともに、単一のJSファイルにマッシュ/ミニファイします。 。これを行うことの欠点は、ユーザーが最初にページをロードするときにロードされる非常に大きなJSファイルが1つある可能性があることです。利点は、クライアント側がそのファイルをキャッシュし、ユーザーがファイルを再度ロードする必要がないことです。
一般的な経験則は次のとおりです。ユーザーがダウンロードする必要のあるバイト数を縮小し、ユーザーがサイト全体で行う必要のあるHTTPリクエストの数を縮小します。したがって、これらの種類のファイルを1つのダウンロードに圧縮し、同じURLを持つすべてのページに存在させることで、通常は302応答を受け取り、ダウンロードを行わない単一のリクエストを作成できます。これは、異なるページにロードされる5つの異なるプラグインを使用するよりもはるかに優れており、それぞれが個別のHTTP呼び出しを行います。たとえ、それらの呼び出しがすべて302応答を受信したとしてもです。
コンテンツページでjquery参照を参照するための適切なアプローチではありません。
マスターページでjquery参照を指定し、それらをすべてのコンテンツページで使用します。それは、適切で最適化されたアプローチです。