0

我是 JQuery 的新手。我正在尝试创建一个带有验证的简单表单。我遇到了这个有很多例子的优秀网站:http: //jqueryvalidation.org/email-method

我从 jquery 教程中了解到,<script src>指向jquery.js本地的副本。但是在上面给出的链接中的所有示例中,都提到了指向不同 URL 的各种来源。

例如:

src="http://code.jquery.com/jquery-1.9.1.min.js"
src="http://jquery.bassistance.de/validate/jquery.validate.js"
src="http://jquery.bassistance.de/validate/additional-methods.js"

本地存储和指向网络源有什么区别?如果我将这些 URL 合并到我的应用程序中会怎样?这是否意味着我的代码将取决于它们存储在哪个服务器上的工作?如果是这样,那不是风险吗?如果他们的服务器宕机了怎么办?

对不起,我真的很想知道区别。

4

6 回答 6

3

它使您不必在本地保存它们。如果您从相当多的人使用的 CDN(例如 Google)进行链接,它还可以提高性能,因为访问您网站的人已经将它们缓存起来。这是 jQuery 的 Google CDN 位的链接:https ://developers.google.com/speed/libraries/devguide#jquery

于 2013-06-07T20:13:32.567 回答
1

根据主机的不同,可能会有更好的缓存。请求本身的延迟也更少。它本质上是一个 CDN,用于优化从冗余节点而不是可能导致瓶颈的单个节点提供源。

于 2013-06-07T20:13:15.593 回答
1

您是正确的,如果您使用这些 URL,那么您依赖于它托管的服务器能够可靠地交付它(并且也不会恶意更改脚本)。

也就是说,这些参考资料被数千个网站使用

http://code.jquery.com/jquery-1.9.1.min.js
http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js

并且由可能比您将使用的任何服务器更快、更可靠的服务器托管。使用它们还具有不必自己托管脚本的优点,这也意味着客户端在访问您的站点时不必下载另一个 jQuery 副本,因为它可能已经被缓存了。

简而言之:使用外部托管脚本对您有利,并且对您的客户更快,但您需要确保您信任主机。

正如其他人所提到的,您可以包含一个故障安全脚本,以防外部服务器出现故障:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>if(!window.jQuery) document.write('<script src="localScripts/jquery.min.js"></script>');</script>
于 2013-06-07T20:13:22.193 回答
1

这些是相当标准的网络托管网址。使用它们是一种很好的做法。它确实使您依赖服务器,但托管这些文件的服务器比运行大多数站点的标准共享托管服务器更可靠,因此实际上是一种改进。

有一种方法可以从标准 CDN 位置加载它,然后如果无法从您的本地副本加载它,这是一个示例:

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js"></script>
<script>!window.jQuery.ui && document.write(unescape('%3Cscript src="/scripts/jquery-ui-1.8.14.min.js"%3E%3C/script%3E'))</script>
于 2013-06-07T20:13:47.920 回答
1

它被称为 CDN,基本上它有时在您的客户端计算机上更快,因为 CDN 主机可跨多个区域使用,而且 jQuery 库已经被缓存的机会很高,因为许多站点开始使用 CDN。

正如您所提到的,CDN 有可能出现故障。我在 H5BP 中遇到了这个脚本,它实际上有一个故障安全方法,至少包含 jQuery 的脚本。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="<your server>/jquery-1.10.1.min.js"><\/script>')</script>

https://github.com/h5bp/html5-boilerplate/blob/master/index.html#L27-L28

阅读此处是使用 CDN 的优势列表

于 2013-06-07T20:16:33.173 回答
0

当您使用 JQuery 库时,可以理解此应用程序将有 Internet 可用,因为许多程序员选择从库 JQuery 的 google 定位 url,但如果您正在开发多媒体应用程序需要在本地加载此库,则下一个来源是检测您何时可以访问互联网并决定是指向 URL 还是本地文件

<html>
  <head>
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">

        // Comprobar carga desede google
        if (window.google && window.google.load) {
          google.load("jquery", "1.3.2");
          window.defaultStatus='ONLINE-MODE';
        } else {
          document.write('<script type="text/javascript" src="local-jquery/jquery.min.js">     <\/script>');

          window.defaultStatus='LOCAL-MODE';
        }

        window.onload = function() {
          $('#test').css({'border':'2px solid #f00'});
          $('#test').append("<b> "+window.defaultStatus+"</b>");
        };
    </script>
  </head>
  <body>
    <p id="test">jQuery</p>
  </body>
</html>

我希望你能提供帮助

于 2013-06-07T20:34:12.303 回答