2009-06-16 15 views
0

私は現在、自分のMasterPage上のScriptManagerに(私はASP.NETを使用して)1つのjQueryスクリプトページを持っています。すべての私のページのための私のカスタムスクリプトはすべてこのページに入っています。私はいくつかの人々が複数のページに分割するのが好きだと知っていますが、私は1つの場所にそれらをすべて持っていることを好む。とにかく、私はこのページに$(document).ready(function(){ //do stuff// });を持っています。私は名前を付け、その後、document.ready関数に置き、私の他の機能、すなわちのすべて:この効率の周りjQuery:ページごとの機能を設定する

$(document).ready(function(){ 
    Function1(); //necessary for page1.aspx, page2.aspx but not 3 or 4 
    Function2(); //etc., necessary for some but not other pages 
}); 

function Function1() { 
    // whatever, etc // 
} 

私の質問・センター。これらの関数の多くは、特定のページにはどんな種類のアプリケーションもありますが、すべてではありません。ページ固有のコーディングを含める方が良いでしょうか。つまり、現在のページを特定し、正しいページにいる場合は、機能を実行しますか、それとも重要ではありませんか?私はそれが重要ではないという印象を受けましたが、私は確信しています。

おかげ

答えて

1

すべてを外部の.jsファイルに入れることを検討することもできます。その後、ブラウザはコードを一度ダウンロードするだけで済みます。

機能が不要なページでエラーが発生する場合は、必要なページにのみエラーを含めるようにしてください。

それ以外の場合は、関数の実行にかかる時間によって異なります。それほど長くない場合は、心配しないでください。 if文の束を追加することで、脆弱性を導入する価値はありません。

+0

私はそれをscriptmanagerにロードされた外部の.jsファイルに入れますmasterページ上で...しかし、不必要な関数によってエラーが発生することはなく、スクリプトはそれほど大きくはありません(ファイルは現在200行未満です)。 – Jason

+0

私はあなたが持っているものを変更する魅力的な理由は見当たりません。それを考えてみると、私はページの内容によっては何かをしてもいなくても、何年も働いているかもしれない多くの機能を持っています。 –

1

これは決定的な答えであれば、私が言うことはできませんが、おそらく私は表示され、そのページには関係ありませんできるだけ少ないコーディングを表示しようとする任意のプロジェクトインチ

したがって、JQueryの場合は、サーバー側のチェックを行うことで、そのページに必要なjavascriptコードのみが表示されます。

しかし、これは本当にあなたが使用しているコードの大きさに依存すると思います。jqueryの小さな1行のスクリプトであれば、本当に失われるとは思われませんが、ロジックがある場合は、それを必要とするページごとに分割することをお勧めします。

+0

これは、var path = window.location.pathnameのようなものです。すべての関数の始めにパス変数を解析しますか?またはいくつかの.jsファイルに分割する方が良いでしょうか?また、私が後者をした場合、どのように私はマスターページのスクリプトマネージャーを使ってページ単位でそれらを追加しますか? – Jason

+0

あなたのスクリプトマネージャーがどのように動作しているかASPであるかはわかりません。私は主にPHP開発者です。設定とファイル数に応じて、私はifステートメントやスイッチを使ってページを作り、htmlを出力してスクリプトをインクルードします。クライアント側でもそれほど害はありません!本当にあなたのファイルを含めるには多くの方法がありますが、私は本当にあなたのために最適であると言うことはできません。 200行(これまでのところ)で、私はすべてのページにそれを含めると言いましたが、あまり問題はありません。 (ただし、それは本当にサイトの使用に依存します - もし多くのユーザーが多分帯域幅を節約したいのであれば) –

1

ページ固有の関数の数によっては、大きく影響する可能性があります。

少量の追加データがある場合は、パフォーマンスが大幅に低下することはありません。しかし、コードベースが大きくなると、そのコードを維持するのが難しくなる可能性があります。

さらに、トラフィックが増加し、帯域幅に余分なコストがかかる可能性があるため、すべてのページリクエストで余分なビットをワイヤを渡ってプッシュしています。

1

はい。それは重要です。本当の疑問は、それらの機能がどれほど複雑かということです。関数を必要とするかどうかをチェックするコードは、コードを実行するより時間がかかりますが、それは必要ではありません。

あなた自身に尋ねる必要がある質問(またはテスト)です。機能が必要な場合、テストするのに時間がかかりますか?