JavaScript:按需加载jQuery

时间:2009-10-23 14:13:03

标签: javascript jquery

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

7 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:2)

请继续加入。

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

将其包含在Google的CDN中:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

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

答案 4 :(得分:1)

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

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

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

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

    <script src="http://www.google.com/jsapi"></script> 
<script> 
//your awesome google
 google.load("jquery", "1");
  </script>

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

很抱歉我仍然可以在这个网站上启动重复代码,但我找不到回复按钮