是否有一种方法允许我在多个页面上只加载一次jQuery?我在div中加载外部页面。
$("#home").click(function(e) {
e.preventDefault();$("#content").html(ajax_load).load("page.html");
});
我加载的页面需要Jquery。而不是在每个外部页面上调用jQuery例如:(<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
)我可以调用已经加载的版本,还是必须一次又一次地调用Jquery?
我问这个是因为我没有重复在每个外部页面上不断加载jquery libary并且这不会减慢外部页面的负载吗?
答案 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不必称为包装器。
希望这有帮助!