2

VS 2008 には、1 つのマスター ページを持つ ASP.NET コンテンツ ページがあります。このページにクライアントサイドバリデーションなどのJavaScript関数を追加したいと考えています。私の質問は次のとおりです。

  1. これらのスクリプトを別の.jsファイルに記述するか、ファイル内に埋め込む必要がありますか.aspx
  2. この選択は Web サイトのパフォーマンスに影響しますか?
  3. JavaScript ファイルを記述する際のルールはありますか?
4

3 に答える 3

2

ユーザーがアクセスする複数のページで JavaScript 関数が使用される可能性が高い場合は、キャッシュの能力を考慮する必要があります。この場合、それらを (可能であれば) 1 つの外部 .js ファイルに入れる必要があります。これにより、ファイルはサーバーから一度だけ取得され、その後ブラウザのキャッシュに残ります。HTML ページが小さくなります (大規模な JS ライブラリでは顕著です)。

関数 (通常は検証ルール) が 1 つのページのみに適用される場合、外部 JavaScript ファイルによって追加の HTTP 要求が発生し、ユーザーのページのエクスペリエンスが短時間ブロックされる可能性があります。ここでは、JS を HTML ファイルに埋め込むことをお勧めします。

詳細なヒントについては、これに関する Yahoo! のヒントを参照してください。

乾杯、

于 2009-07-09T05:46:33.183 に答える
2

JavaScript 関数を別の .js ファイルに作成し、必要なマスター ページまたは .ASPX 内でリンクする必要があります。

各 .ASPX に javascripts 関数を「コピーして貼り付ける」とします。その .ASPX ファイルが読み込まれると、javascript 関数もレンダリングする必要があるため、そのページのレンダリングに時間がかかります。別の .js ファイルに保存すると、ブラウザは新しいか、以前に存在しない場合に一度だけダウンロードします。

これらの .js ファイルをキャッシュして、ブラウザーが毎回再読み込みしないようにすることもできます。

もう 1 つの利点は、.js ファイルにいくつかの変更を加える必要がある場合です。多数の .ASPX を使用して「検索と置換」を行うのではなく、1 つのファイルで集中的に変更するだけで済みます。

于 2009-07-09T05:41:12.257 に答える
0

それはあなたの使い方次第です。ページ固有の機能である場合は、ページ自体に実装してみてください。多くのページで使用されている場合は、それを js ファイル内に配置します。

ウェブサイトのパフォーマンスに影響はありますか?

はい、できます。数千行のコードを含む js ファイルがあり、ページ内にある場合、js ファイル内の関数を 1 つだけ呼び出す必要があります。このファイルを参照すると、ファイル全体をダウンロードする際に帯域幅が浪費されるはずです。この場合、同じページ自体の中に関数を書くことができます。

一方、ブラウザーは js ファイルをキャッシュできます。したがって、ファイルがキャッシュに存在する場合、後続の要求では再度ダウンロードされません。ただし、JavaScript がページ自体に記述されている場合、ページが読み込まれるたびにすべてのコンテンツがダウンロードされます。

于 2009-07-09T05:41:46.203 に答える