3

複数のページで一度だけ jQuery をロードできる方法はありますか? div 内に外部ページをロードしています。

$("#home").click(function(e) {
   e.preventDefault();$("#content").html(ajax_load).l‌​oad("page.html"); 
});

読み込んでいるページには Jquery が必要です。これらの各外部ページでjQuery eg: ( <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">) を呼び出す代わりに、既にロードされているバージョンを呼び出すことができますか、それとも Jquery を何度も呼び出す必要がありますか?

各外部ページでjqueryライブラリの絶え間ない読み込みを繰り返していないため、これを尋ねます。これにより、外部ページの読み込みが遅くなることはありませんか?

4

2 に答える 2

2

jquery を使用して外部ページを ajax 経由でページにロードする場合は、そのページに jquery をロードするだけで済みます。したがって、答えはイエスだと思います。すでにロードされているバージョンのjqueryを参照できます。

.on()追加するコンテンツは動的に追加され、直接バインドされないため、イベントをデリゲートするために、すべてのイベント リスナー ( など) にセレクター パラメーターを含めるようにしてください。http://api.jquery.com/on/#direct-and-delegated-events

ajax されている外部ページに jquery がロードされている場合、メイン ページには 2 つの異なる jquery ライブラリがロードされますが、これはあらゆる種類の問題を引き起こす可能性があるため、望ましくありません。

于 2013-07-10T18:24:24.853 に答える
0

これにより、ページ全体が 内に読み込まれます#content。他に必要なスクリプトがない場合。他の .js ファイルでは、外部ページから body タグのすべてを div でラップし、次の操作を実行できます。

$("#content").html(ajax_load).load("page.html#wrapper");

#wrapper にあるものだけをロードします。

理由は思い出せませんが、 body タグだけをセレクターとして使用できないことはわかっています。

注: div をラッパーと呼ぶ必要はありません。

お役に立てれば!

于 2013-07-10T18:27:23.650 に答える