3

有没有一种方法可以让我在多个页面上只加载一次 jQuery?我在 div 中加载外部页面。

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

我正在加载的页面需要 Jquery。<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">我可以调用已经加载的版本,还是必须一次又一次地调用 Jquery,而不是在每个外部页面上调用 jQuery,例如: ( )?

我问这个是因为我不是在每个外部页面上重复不断加载 jquery 库,这不会减慢外部页面的负载吗?

4

2 回答 2

2

如果您通过 ajax 将外部页面加载到带有 jquery 的页面中,那么您只需要在该包含页面上加载 jquery。所以我想答案是肯定的,你可以参考已经加载的jquery版本。

只需确保在任何事件侦听器(例如.on())中包含选择器参数以委托事件,因为您添加的内容是动态添加的,而不是直接绑定的。http://api.jquery.com/on/#direct-and-delegated-events

如果您在被 ajaxed 的外部页面中加载了 jquery,则主页将加载两个不同的 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 回答