api.ajax和ajax_使用Google AJAX库API更快地服务JavaScript框架

api.ajax和ajax

Google已宣布扩展其Google AJAX API服务: AJAX库API 。 他们收集了最常见JavaScript库的集合,并在其内容分发网络上提供了它们。

对JavaScript框架库的普遍批评是从使用它们的所有站点下载了相同的代码,这浪费了带宽并在浏览器的本地缓存中创建了重复的文件。 Google的一项举措是减轻这种负担,并创建一种JavaScript 香格里拉 ,其中所有框架都可以一起使用,从而有效利用它们的时间,甚至可以唱歌。 如果有比唱歌更好的方法来毁掉一架像样的飞机失事幸存电影 ,那我还没看过! 弗兰克·卡普拉(Frank Capra)有很多要回答的问题。

无论如何,如果有足够的站点将Google CDN用于其JavaScript库,则浏览器已经缓存了它的本地副本的机会就越大,并且可以避免再次下载它。 每个人都能获得性能收益!

使用该服务很简单。 您可以通过URI直接引用库,如下所示:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js">
</script>

另外,您可以这样使用Google的API:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("prototype", "1.6.0.2");
</script>

第一个参数是库的名称,第二个参数是所需的版本。

附带JavaScript在浏览器支持时被压缩(124K Prototype库压缩到大约30K),并带有适当的缓存头。 该服务的一项出色功能是您可以控制版本控制。 上面的示例下载了非常具体的Prototype版本: 1.6.0.2 。 但是您可以指定任何增量级别,它将提供最新版本。 例如,如果指定版本1.6则将获得最新的1.6增量版本。 如果指定版本1 ,也会发生同样的情况;如果不指定任何版本,则将获得可用的最新版本。

但是,在进行一些测试时,我甚至注意到了一些东西,调整了Cache-Control标头值以适合请求。 指定特定的增量版本时,标头值如下所示:

Cache-Control: public, max-age=31536000

这会通知任何关心兑现Cache-Control标头的缓存机制,表明内容可以安全缓存长达一年。 当指定了更通用的版本时,您得到以下信息:

Cache-Control: public, max-age=3600, must-revalidate, proxy-revalidate

这通知缓存,应每小时检查一次内容的更改,以确保提供最新版本。

该文档仅提及与google.load API调用相关的版本控制,但以下所有直接URI似乎都可以正常工作并提供Prototype 1.6.0.2:

目前,Google托管:

这些库中的某些库也具有缩小版本。

YouTube上有一个简短的视频,介绍了所有操作原理,但似乎有些过时了。 用于直接访问JavaScript文件的URI与文档不匹配,因此不起作用。

当在Ajaxian上宣布API时,Don还谈到了这种服务的未来非常有趣:

如果我们发现用法很好,则可以与浏览器供应商合作以自动交付这些库。 然后,如果他们看到我们使用的URL,则可以从本地系统自动加载库,甚至是特殊的JIT库。 因此,根本没有网络受到攻击!

尽管有一些脾气暴躁老顽固主义者骚动,但 JavaScript框架库的使用只是在增加和改进。 我记得在DHTML的过去,每个可用脚本都具有自己的addEvent方法版本。 如此多的重复代码。 通用框架的可用性停止了重复并提供了有用的抽象级别。 我认为Google的新服务是朝正确方向迈出的重要一步。

翻译自: https://www.sitepoint.com/serve-javascript-frameworks-faster-with-the-google-ajax-libraries-api/

api.ajax和ajax

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值