在所有页面上加载jquery一次

时间:2013-07-10 18:18:01

标签: jquery html

是否有一种方法允许我在多个页面上只加载一次jQuery?我在div中加载外部页面。

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

如果在获取ajaxed的外部页面中加载了jquery,则主页面将加载两个不同的jquery库,这不是您想要的,因为它可能导致所有类型的问题。

答案 1 :(得分:0)

这将在#content内加载整个页面。如果不需要其他脚本,例如。其他.js文件,您可以从外部页面将div中的所有内容包装在div中并执行以下操作:

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

这将只加载#wrapper中的内容。

我不记得为什么,但我知道你不能只使用body标签作为选择器。

注意:div不必称为包装器。

希望这有帮助!