我是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"
本地存储和指向Web源有什么区别?如果我在我的应用程序中包含这些URL怎么办?这是否意味着我的代码将以存储服务器的工作为条件?如果是这样,那不是风险吗?如果他们的服务器出现故障怎么办?
抱歉,我真的很想知道其中的差异。
答案 0 :(得分:3)
它使您无需在本地保存它们。如果您从相当数量的人使用的CDN(例如Google)链接,它也可以提高性能,因为访问您网站的人员已经将其缓存。这是jQuery的Google CDN位的链接:https://developers.google.com/speed/libraries/devguide#jquery
答案 1 :(得分:1)
根据主机的不同,可能会有更好的缓存。此外,请求的延迟也较少。它本质上是一个CDN,用于优化从冗余节点而不是单个节点提供源,这可能会导致瓶颈。
答案 2 :(得分:1)
你是正确的,如果你使用这些网址,那么你依靠它托管的服务器能够可靠地传送它(而且也不会恶意改变脚本)。
尽管如此,这些参考文献被数以千计的网站使用
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>
答案 3 :(得分:1)
这些是相当标准的网络托管网址。使用它们是很好的做法。它确实使您依赖于服务器,但托管这些文件的服务器比大多数站点运行的标准共享托管服务器更可靠,因此实际上是一种改进。
有一种方法可以从标准的CDN loaction中加载它,然后如果无法从本地副本加载它,这是一个例子:
<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>
答案 4 :(得分:1)
它被称为CDN,基本上它在您的客户端计算机上有时更快,因为CDN主机可用于多个区域,因为许多站点开始使用CDN,jQuery库已经被缓存的可能性很高。
正如您所提到的,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
答案 5 :(得分:0)
当您使用库时,JQuery被理解为此应用程序将具有互联网可用,因为许多程序员选择从谷歌JQuery库中定位URL,但如果您正在开发多媒体应用程序,则需要加载此库在本地,下一个来源是检测何时可以访问Internet并决定是指向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>
我希望你能够提供帮助