1

#idHTMLコードに存在する、または存在しないjQuery関数を含める.classと、Webページの読み込み時間に影響しますか?

例:-

$(function (){
    $("#id1").click(function(){

//something

});

の機能はありますが、 のid1付いたタグはありませんid = id1。これはページの読み込み時間に影響しますか?

実際、自分のウィジェットを自分のページに追加して、ユーザーがウィジェットを配置/追加してダッシュボードをカスタマイズできるようにしたかったのです。ユーザーがウィジェットのリストからウィジェットを選択できるようにすることで、ウィジェットを動的に追加するソリューションを考えました。ウィジェットを選択すると、それらのウィジェットの div が動的に追加され$( "#container" ).append( "<div id='id1'></div>" );、それぞれの jQuery 関数が読み込まれます。最適化された js ファイル内のこれらの ID またはクラスの関数を維持しますか? jQuery関数をロードする正しい方法ですか、それとももっと良い方法がありますか?ウィジェットを実装する正しい方法か知りたいですか?

4

3 に答える 3

1

いいえ、これは実際にはページの読み込み時間には影響しません。クエリは失敗し、ハンドラーはアタッチされません。シングル ページ アプリケーションを開発している場合、重要なのはアプリケーションのパフォーマンスです。アプリケーションの動作が遅い場合は、パフォーマンスについて心配する必要があります。

http://c2.com/cgi/wiki?PrematureOptimization

アプリケーションで JavaScript を頻繁に使用する場合RequireJSは、アセットを動的にロードしてコードの速度と品質を向上させることができるモジュール ローダーなどのライブラリの使用を検討できます。RequireJS には、関連するスクリプトをビルド レイヤーに結合し、開発後に UglifyJS または Google Closure Compiler (Java が必要) を介してそれらを縮小するために使用できる最適化ツールもあります。

于 2013-09-01T20:18:09.503 に答える
1

Google CDN から jquery をロードすると、jquery ライブラリのロードが大幅に削減されます。関数呼び出しに関しては、はい、ページの読み込み時間が長くなります。ただし、ネットワークの遅延を引き起こすわけではありません。id=id1 が既に存在するように、ページが読み込まれた後に実行する関数呼び出し。関数呼び出しの設定によって、ページの読み込み時間が大幅に増加することはなく、好きなだけ実行できます。ページの JavaScript が重くなるにつれて、実行時の速度を最適化することを検討する必要があります。

于 2013-09-01T20:04:28.897 に答える
0

jour *.js ファイルで使用する場合:

$(function() {
//your jQuery code here
});

タグの直前のドキュメントの最後に外部 *.js ファイルを</body>ロードし、Google CDN から jQuery を既にロードした後でのみ、ページが完全にロードされた後にのみスクリプトが実行されます。

この方法でコードを実行すると、指定された ID を持つ要素が jQuery で見つからない場合、何も実行されません。DOM を解析し、指定した ID を持つ可能な要素を検索するときに、ユーザーのブラウザによって消費されるメモリに影響します。それで全部です。

jQuery を使用する正しい方法は、上で説明したように jQuery コードを読み込んで実行することです。

1つの考え; DOM 要素に追加するときは、その要素を検索する前に行います。

$(function() {
$( "#container" ).append( "<div id='id1'></div>" );
$('#id1').append('some HTML content');
});
于 2013-09-01T20:49:27.603 に答える