JavaScript:按需加载jQuery

将jQuery lib动态地包含到页面中的最轻量级方法是什么? 我正在一个页面上工作,有时它运行一些自定义脚本(10行),有时也需要整个jquery。

只需在需要时为jQuery添加脚本标记:

var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'http://www.example.com/jquery.js'; document.body.appendChild(script); 

请继续并包含它。

如果您有其他页面使用jQuery,那么如果它们在您的网站上做了很多事情(或以任何频率访问它),它可能已经被缓存了。 但是,请使用缩小的表格。 使用Google的逻辑适用,但缓存的可能性较小。

您的评论:您多久validation一次自己网站上的网页? 如果您的网站确实破解了,您知道多久? 如果谷歌托管的代码被更改,发现的速度将提高许多个数量级,并且对您的网站的影响相对较小,IMO。

一旦用户已经下载了JQuery,它就被缓存在他们的系统上,因此在第一次初始下载之后将其包含在内是非常简单的。 您可以将它包含在您需要它的头脑上,而不必担心稍后在页面中尝试将其添加到JS运行时。

将其包含在Google的CDN中:

  

您的客户很可能已经在其浏览器中缓存了jQuery。

是的,我只是把它包括在内 – 它很小,如果你使用google cdn它希望已经被缓存了。

如果您必须按需加载它,您可以编写代码以将脚本标记附加到正文。 这段代码很常见。

 void((function(){ var e=document.createElement('script'); e.setAttribute('type','text/javascript'); e.setAttribute('src','jquery.js'); document.body.appendChild(e) })()); 

可能你会发现Google AJAX API很有用。 您可以随时通过调用调用load jQuery:

 google.load("jquery", "1"); 
    

我不知道为什么这些家伙说谷歌是一个安全问题,他们不希望谷歌服务它。 你错了(或给我理由)id说你更有可能下​​载一个糟糕的或更改的jquery版本(你应该去网站),而不是谷歌给你的问题。 谷歌很棒,他们让它变得容易,主持人,如果为你,并且比你的弱网络服务器有更多的吞吐量,所以为什么你不能使用它?

抱歉我仍然开始在这个网站上的重复代码,但我找不到回复按钮