我有一个使用 jQuery 的应用程序,可以使用几乎任何最近版本的 jQuery,例如 1.7 或 1.8。
请问有没有人能给我建议,在编写代码时如何最大化应用程序在用户缓存中找到符合我的需求的 jQuery 最新版本的机会。例如,我应该尝试从 Google CDN 查找哪个版本的 jQuery?
我有一个使用 jQuery 的应用程序,可以使用几乎任何最近版本的 jQuery,例如 1.7 或 1.8。
请问有没有人能给我建议,在编写代码时如何最大化应用程序在用户缓存中找到符合我的需求的 jQuery 最新版本的机会。例如,我应该尝试从 Google CDN 查找哪个版本的 jQuery?
在公共网站中使用内容交付网络(CDN)非常普遍。要引用其中一个,您可以像引用任何其他本地文件一样使用脚本标签:
jQuery示例
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
谷歌示例
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
微软的例子
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.min.js" type="text/javascript"></script>
这样做存在风险,例如当使用jQuery CDN时始终指向最新版本。在最近的几个版本中,一些方法已被弃用,例如: toggle()
- 用于鼠标事件,live()
,die()
等等。
据我所知,从jQuery论坛得到的消息是,这些弃用的方法将永久删除在版本1.9中。
此外,jQuery计划同时发布1.9和2.0版本,但2.0不是1.9版本的延续,而是会同时开发的一个不同版本。
2.0将不支持IE6、IE7或IE8。而 jQuery 1.9 将保持与所有先前浏览器版本的兼容性。
可在这里阅读相关信息。
出于这些原因,我不建议自动始终指向最新版本,而是明确引用您支持的特定版本。
虽然这种情况很少发生,但 CDN可能会无法访问。为了防止这种情况,您可以实现备用方案。
// Check if jQuery was initialized and if not (CDN was down for example), then
// load jQuery from a local source.
if(typeof jQuery === 'undefined'){
document.write(unescape("%3Cscript src='yourlocalpath/jquery.1.x.min.js' type='text/javascript'%3E%3C/script%3E"));
}
关于可用的CDN质量和性能,我发现了这篇非常有趣的文章在royal.pingdom.com上。
Pingdom的报告显示,最常用的免费jQuery主机Google、Microsoft和Media Temple都是可靠的,但性能不稳定。
为了评估网络,Pingdom在欧洲和北美的多个位置进行了测试,每分钟一次,持续30天。
结果发现,三者都提供了很好的可用性,但性能并非如此。
对于不使用HTTPS或安全服务器的站点,Media Temple远远快于Google在欧洲,但在北美落后。对于HTTPS站点,在欧洲,Google是最快的,而在北美,Google和Microsoft表现类似。
Microsoft在欧洲表现最差,但在北美整体上与Google相当。
type="text/javascript"
是打字错误还是故意的? - SCBuergel<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
你可以直接从 jQuery 加载最新版本:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
还有其他内容分发网络可以加载。
一些流行的CDN包括:
jquery-latest.min.js
是危险的,因为jQuery未来版本中可能会进行更改,这会导致您的网站出现问题(这种情况经常发生)。如果出现问题,您的网站将自动继承并出现故障。 - jfriend00