众所周知,Google和Microsoft在其CDN(内容分发网络)上托管了几个通用的javascript库。不幸的是,似乎都没有托管JSON2.js。
我知道我可以将JSON2.js的副本上传到我的服务器上并自己提供服务,但是CDN提供了许多我想利用的优势。
因此,考虑到这一点,是否存在托管JSON2的任何公共可用CDN?如果没有,为什么?有某种版权原因吗?
Answers:
http://cdnjs.com/libraries/json2/
也许还值得研究Json3
http://cdnjs.com/libraries/json3/
更新:一些信息已过时,已更改为更好的链接。
可以在Yandex CDN服务器上找到json2.js 。
完整版本:http://yandex.st/json2/2011-10-19/json2.js
精缩:http://yandex.st/json2/2011-10-19/json2.min.js
HTTPS也可以。
我认为现在期望大型CDN开始这样做已经为时过早。当有足够的站点在使用库时,好处显而易见:更高的可用性,更频繁的使用,减少的客户端请求,最终用户的性能提高。如果只有几个站点正在使用它,则客户端缓存中已经有副本的机会就很小,并且所有性能提升都将丢失。因此,剩下的就是MS和Google抵消了您的带宽费用,这不是他们的意图。因此,解决方案是让更多的开发人员使用该库。
再加上图书馆是如此之小。使用保守的压缩,该代码仍然只有3.5KB。为了进行比较,jQuery为24KB,而ext-core为29KB。我个人建议将库折叠到您自己站点的基本JS中,并在那里提高性能。至少直到更广泛的接受。
另外,有趣的是,我期望JSON库也可以托管在Yahoo,但我找不到它。我的意思是克罗克福德在那里工作。
JSON
对象已在许多浏览器中成为标准配置,因此需求JSON2.js
下降。而且图书馆很小!只是我已经习惯了创建小型独立的JS应用程序,可以快速将其上传或发送给人们。现在,我最终都使用该JSON
对象。在那种情况下,我的JS应用要么无法在IE6 / 7中运行,要么不再是独立的。=(
来自cdnjs.com的Thomas给出了两个简短的原因,说明没有缩小版本。
1)使用我们选择的缩小方法,该脚本可能无法发挥作者的预期作用。2)作为安全措施,我们确保所有文件的校验和与原始作者托管的文件匹配,以便社区提交的更新不能包含格式错误的缩小代码。
因此,到目前为止,让我们托管Crockfords可以托管未缩小的版本; https://github.com/douglascrockford/JSON-js/raw/master/json2.js
http:
或https:
,然后脚本将使用该站点的正确方法加载://github.com/douglascrockford/JSON-js/raw/master/json2.js