跨所有页面加载jquery一次
有没有一种方法允许我在多个页面上只加载一次jQuery?我正在一个div中加载外部页面跨所有页面加载jquery一次,jquery,html,Jquery,Html,有没有一种方法允许我在多个页面上只加载一次jQuery?我正在一个div中加载外部页面 $("#home").click(function(e) { e.preventDefault();$("#content").html(ajax_load).load("page.html"); }); 我正在加载的页面需要Jquery。在这些外部页面中,我可以调用已经加载的版本,还是必须反复调用jQuery,而不是调用jQuery,例如:() 我这样问是因为我没有在每个外部页面上重复jque
$("#home").click(function(e) {
e.preventDefault();$("#content").html(ajax_load).load("page.html");
});
我正在加载的页面需要Jquery。在这些外部页面中,我可以调用已经加载的版本,还是必须反复调用jQuery,而不是调用jQuery,例如:(
)
我这样问是因为我没有在每个外部页面上重复jquery库的不断加载,这不会降低外部页面的加载速度吗?如果您通过ajax将外部页面加载到带有jquery的页面中,那么您只需要在包含jquery的页面上加载jquery。所以我想答案是肯定的,您可以引用已经加载的jquery版本 只需确保在任何事件侦听器(例如
.on()
)中包含selector参数即可委派事件,因为您添加的内容是动态添加的,而不是直接绑定的
如果将jquery加载到正在加载的外部页面中,那么主页将加载两个不同的jquery库,这不是您想要的,因为它可能会导致所有类型的问题。这将在
\content
中加载整个页面。如果不需要其他脚本,例如others.js文件,则可以从外部页面将body标记中的所有内容包装到div中,并执行以下操作:
$("#content").html(ajax_load).load("page.html#wrapper");
这将只加载包装器中的内容
我不记得为什么了,但我知道不能只使用body标记作为选择器
注意:div不必被称为包装器
希望这有帮助 “我正在加载一个div中的外部页面。”您使用什么代码来执行此操作?您可以尝试浏览器缓存这可能会对您有所帮助,如果您确实从google CDN加载,那么您已经被缓存,因此不会重新下载jquery。@gustavohenke在这种情况下,我是否仍应将其加载到html中?jquery必须在您的页面中只包含一次。因此,请确保包含AJAX的HTML不包含它,否则会出现问题。