使用/调用JQUERY脚本的最佳方法是什么?

时间:2014-02-09 10:41:48

标签: javascript jquery

在网页中使用/调用JQUERY的最佳方法是什么。

我们应该链接到jquery网站吗?或者在我的本地网站上复制一份。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
                                          OR
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>

也说明优点!

注意:我不希望这个问题被关闭,但我想限制我的网站在加载过程中被引用到外部网站..

5 个答案:

答案 0 :(得分:1)

对于互联网应用,最好使用CDN:

  

使用CDN有几个好处。第一个是更快   对用户的体验,因为下载了jQuery库文件   从距离他们最近的服务器,而不是从您的服务器。经常   根本不需要该文件。 jQuery是如此受欢迎   用户的浏览器可能已经从另一个库中缓存了库   也使用jQuery的应用程序。第二个好处是没有   你宝贵而昂贵的带宽用于提供jQuery   用户。对于高流量站点,这可能是一个重要的成本   节省。

请注意:

  

使用CDN时,您必须对CDN操作员有信心。您   想要确保用户收到他们应该的文件   并且该服务将始终可用

因此,您需要选择可靠的CDN:

  谷歌和微软都为jQuery(和其他人)提供CDN服务   流行的JavaScript库)免费。两家公司都很好   经验丰富的服务,并不太可能   故意篡改jQuery库

对于Intranet应用程序

  

CDN方法不适合传送到的应用程序   Intranet中的用户,因为它会导致所有浏览器转到   在Internet上获取jQuery库,而不是访问本地   服务器,通常更近,更快,带宽更低   成本。

引自书籍Pro JQuery

答案 1 :(得分:1)

这取决于。对于将所有javascripts组合成一个文件的应用程序,比如application.js(就像Rails一样),这样浏览器只会加载整个应用程序所需的所有javascript,而且永远不会再次加载,拥有本地文件是件好事与其他javascript一起编译的版本。即使在这种情况下,也没有明确的脚本标记链接到jquery代码。它可以在application.js中找到。所以一个<script src="js/application.js"></script>就足够了。

否则,你应该去CDN。基本上,CDN(例如http://code.jquery.comcdnjsGoogle CDN)是位于世界各地的文件服务器和一个软件,它确定哪个地方最接近请求的来源并使用该地区的文件。因此,虽然你总是在马里兰州为津巴布韦的一个客户提供服务,但CDN可以为他们提供来自南非服务器的文件。它们也具有缓存优势。你应该阅读更多关于它们的信息。

答案 2 :(得分:1)

(可能在搜索结果上有很多答案,但是,就公共网站而言,您无法控制访问者来自哪个网络。

从CDN加载外部文件有利于减少带宽,但我们面临访问者在某些情况下无法访问该文件的问题 -

1)阻止访问(公司所有人)

2)托管服务提供商无法提供文件

通常用于尝试从CDN下载并回退到本地副本。根据内容依赖于脚本的内容,您需要考虑“放弃”的时间段。

调用同步加载来自外部来源的文件时,我们始终将它们放在内容之后阻止页面内容加载延迟

有道理。

答案 3 :(得分:0)

您可以在这里找到答案:

Why should I use Google's CDN for jQuery?

但是如果你不希望外部脚本使用cdn copy

那么

答案 4 :(得分:0)

你可以做到这两点,如下:

<script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.0.min.js"></script>
<script>window.jQuery || document.write('<script src="js/jquery-2.0.0.min.js">\x3C/script>')</script>

在这种情况下,它会尝试从CDN加载jQuery,如果失败则加载本地版本的jQuery。

使用CDN有一个优点,因为jquery可以在用户的​​浏览器中缓存,不需要再次加载。但是,如果您需要最少量的外部依赖 - 使用本地版本。另一个好建议是在结束 body 标记之前包含它,这样它就不会阻止页面的呈现。

good reference with different implementation examples