2009-07-09 20 views
2

VS 2008では、1つのマスターページを持つASP.NETコンテンツページがあります。私はこのページのクライアント側の検証などのためにJavaScript関数を追加したいと思います。私の質問は以下のとおりです。JavaScriptのページまたは外部ファイルはどこに置く必要がありますか?

  1. 私は別の.jsのファイルにこれらのスクリプトを記述するか、.aspxファイル内に埋め込まべき。
  2. この選択はウェブサイトのパフォーマンスに影響しますか?
  3. JavaScriptファイルを記述するための任意のルールはありますか?

答えて

0

介して1つのファイルで一元的にそれを修正するのではなく、「検索と置換」か必要ですあなたの使い方によって異なります。ページ固有の機能の場合は、ページ自体にその機能を実装してください。それが多くのページで使用されている場合は、jsファイルの中に入れます。

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

はい、それはすることができます。何千ものコード行を持つjsファイルがあり、ページ内にjsファイル内の関数を1つだけ呼び出さなければならない場合。このファイルを参照する場合は、ファイル全体をダウンロードする際に帯域幅が浪費されるはずです。この場合、同じページの内部に関数を書くことができます。他の側のブラウザで

は、JSファイルをキャッシュすることができます。したがって、ファイルがキャッシュに存在する場合、後続の要求に対しては、それは再びダウンロードされません。しかし、JavaScriptがページ自体に書き込まれている場合は、ページの内容がすべて読み込まれるたびにダウンロードされます。

+0

この回答が投稿されて以来、開発に基づいています。ページに機能を置くと、ユーザーがページを特定の回数だけ要求するまで、帯域幅が節約されます。その後、キャッシュが改善されました。また、すべてのページ読み込み時にこれらのビットを提供するためにお金を払っています。縮小化すると、たとえファイル内のコードの一部しか使用しなくても、外部がもっと意味をなさないでしょう。また、最近使用していないコードやjsモジュールを識別するChromeの開発ツールでは、送信される内容を非常に細かく特定することができます。 – jinglesthula

2

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

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

ブラウザは毎回それをリロードしないように、また、それらの.jsファイルをキャッシュすることができます。

他の利点は、あなたがの.jsファイル内のいくつかの変更を加える必要があるとき、あなたはそれが多数.ASPX

2

JavaScript関数は、ユーザーが訪問するいくつかのページで使用される可能性がある場合は、キャッシュの電源を検討すべきです。この場合、可能であれば1つの外部.jsファイルに入れてください。これにより、ファイルはサーバから一度だけ取得され、ブラウザのキャッシュに残ります。あなたのHTMLページは小さくなります(大きなJSライブラリの場合はかなりです)。

機能(一般的に検証ルールは)唯一の外部JavaScriptファイルがページのユーザの経験では短いブロックにつながる余分なHTTPリクエストにつながる、ただ1つのページに適用された場合。 JSをHTMLファイルに埋め込む方が良いでしょう。

は、より詳細なヒントをこの上Yahoo!'s tipsを参照してください。

乾杯、