是否有托管JSON2的公共可用CDN?


78

众所周知,GoogleMicrosoft在其CDN(内容分发网络)上托管了几个通用的javascript库。不幸的是,似乎都没有托管JSON2.js

我知道我可以将JSON2.js的副本上传到我的服务器上并自己提供服务,但是CDN提供了许多我想利用的优势。

因此,考虑到这一点,是否存在托管JSON2的任何公共可用CDN?如果没有,为什么?有某种版权原因吗?

Answers:


60

结帐cdnjs.com

http://cdnjs.com/libraries/json2/

也许还值得研究Json3

http://cdnjs.com/libraries/json3/

更新:一些信息已过时,已更改为更好的链接。


@Xavi:不在CDNJS上。您可以在cdnjs网站上建议它
Dve

cdnjs看起来很不错!这些家伙对反馈也非常敏感。感谢您指出了这一点。
webmat 2011年

webmat:不用担心。这是一个好主意。我已经使用了一段时间了。也没有看到任何停机时间。
Dve

12
来自cdnjs.com的Thomas给出了两个简短的原因,说明没有缩小版本。1)使用我们选择的缩小方法,该脚本可能无法发挥作者的预期作用。2)作为安全措施,我们确保所有文件的校验和与原始作者托管的文件匹配,以便社区提交的更新不能包含格式错误的缩小代码。因此,到目前为止,让我们托管Crockfords可以托管未缩小的版本;github.com/douglascrockford/JSON-js/raw/master/json2.js 大声笑您不能在注释中添加换行符吗?
托马斯·戴维斯

3
仅供参考:我在最近的项目中从cdnjs.com提供了json2。我从这个非常stackoverflow的页面上获得了链接。那里的一些IE不喜欢这样。我不知道为什么,因为它们都是从7到9的不同版本。某些IE正在以KOI-7格式解释json2。结果,用户收到JavaScript错误:“未定义JSON”。我尝试将脚本标记的@charset属性设置为UTF-8,但无法解决问题。我的解决方法是将json2与其他js文件一起提供。(压缩并缩小)。如有任何疑问,请随时与我联系。
迪姆斯基


5

我认为现在期望大型CDN开始这样做已经为时过早。当有足够的站点在使用库时,好处显而易见:更高的可用性,更频繁的使用,减少的客户端请求,最终用户的性能提高。如果只有几个站点正在使用它,则客户端缓存中已经有副本的机会就很小,并且所有性能提升都将丢失。因此,剩下的就是MS和Google抵消了您的带宽费用,这不是他们的意图。因此,解决方案是让更多的开发人员使用该库。

再加上图书馆是如此之小。使用保守的压缩,该代码仍然只有3.5KB。为了进行比较,jQuery为24KB,而ext-core为29KB。我个人建议将库折叠到您自己站点的基本JS中,并在那里提高性能。至少直到更广泛的接受。

另外,有趣的是,我期望JSON库也可以托管在Yahoo,但我找不到它。我的意思是克罗克福德在那里工作。


这些是公平点。该JSON对象已在许多浏览器中成为标准配置,因此需求JSON2.js下降。而且图书馆很小!只是我已经习惯了创建小型独立的JS应用程序,可以快速将其上传或发送给人们。现在,我最终都使用该JSON对象。在那种情况下,我的JS应用要么无法在IE6 / 7中运行,要么不再是独立的。=(
Xavi

4

来自cdnjs.com的Thomas给出了两个简短的原因,说明没有缩小版本。

1)使用我们选择的缩小方法,该脚本可能无法发挥作者的预期作用。2)作为安全措施,我们确保所有文件的校验和与原始作者托管的文件匹配,以便社区提交的更新不能包含格式错误的缩小代码。

因此,到目前为止,让我们托管Crockfords可以托管未缩小的版本; https://github.com/douglascrockford/JSON-js/raw/master/json2.js


2

现在有。

Douglas Crockford最近将JSON2放在github上,此URL将始终链接到最新版本。

编辑:使用此方法不是一个好主意,请参阅下面的评论。


对于不能安全提供内容的网页,https应该是http吗?即不是“混合安全和不安全的内容”?
蓬松的青蛙,

5
退一步来说,我不认为这是一个好主意,使用github上的CDN,看到了这个问题的答案:stackoverflow.com/questions/5502540/...
DannyLane

4
@ShaggyFrog一个技巧:您可以删除http:https:,然后脚本将使用该站点的正确方法加载://github.com/douglascrockford/JSON-js/raw/master/json2.js
Web_Designer 2012年

@DannyLane,您应该使用关于不将GitHub用作JS的CDN的信息来编辑答案。
不对称的

不知道为什么这个答案最近被否决了,我改正说是将近3年前不使用此方法。
DannyLane 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.