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

Javascript 是否有托管JSON2的公共可用CDN?,javascript,json,cdn,Javascript,Json,Cdn,众所周知,在他们的CDN(内容分发网络)上托管了几个常见的javascript库。不幸的是,两人似乎都不是东道主 我知道我可以将JSON2.js的副本上传到我的服务器上,然后自己提供,但是CDN提供了一些优势,我想利用这些优势 因此,考虑到这一点,是否有任何公共可用的承载JSON2的CDN?如果没有,你知道为什么吗?有什么版权方面的原因吗?我认为,指望大型CDN开始这样做可能还为时过早。当有足够多的站点使用一个库时,其好处就显而易见:更高的可用性、更频繁的使用、减少客户端请求、提高最终用户的性能

众所周知,在他们的CDN(内容分发网络)上托管了几个常见的javascript库。不幸的是,两人似乎都不是东道主

我知道我可以将JSON2.js的副本上传到我的服务器上,然后自己提供,但是CDN提供了一些优势,我想利用这些优势


因此,考虑到这一点,是否有任何公共可用的承载JSON2的CDN?如果没有,你知道为什么吗?有什么版权方面的原因吗?

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

加上图书馆太小了。使用保守的缩小,代码仍然只有3.5KB。相比之下,jQuery是24KB,extcore是29KB。我个人建议将库折叠到您自己站点的基本JS中,并在那里提高性能。至少在得到更广泛的接受之前

另外,有趣的是,我本以为JSON库也会在雅虎托管,但我找不到它。我是说Crockford在那里工作

现在有了

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

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

结帐

可能也值得调查


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

来自cdnjs.com的Thomas,这里有两个原因说明为什么没有缩小版本

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

所以现在我们只能托管Crockfords托管的非小型版本;

json2.js可在上找到

完整版本:

缩小:


HTTPS也有效。

这些都是公平的观点。
JSON
对象正在成为许多浏览器的标准,因此对
JSON2.js
的需求正在下降。而且图书馆很小!只是我养成了创建小型自包含JS应用程序的习惯,可以快速上传或通过电子邮件发送给人们。每过一段时间,我就会使用
JSON
对象。在这些情况下,我的JS应用程序要么无法在IE6/7中工作,要么不再是独立的=(@Xavi:不在CDNJS上。你可以在CDNJS网站上建议它。CDNJS看起来是一个非常酷的计划!这些人对反馈也非常敏感。谢谢你指出这一点。webmat:不用担心。这是一个好主意。我已经使用它一段时间了。也没有看到任何停机时间。这里是CDNJS.com的Thomas,有两个原因没有缩小版本。1)使用我们选择的缩小方法,脚本可能无法按照作者的预期运行。2) 作为一个安全步骤,我们确保所有文件校验和与原始作者托管的文件匹配,以便社区提交的更新不能包含格式错误的缩小代码。所以现在我们只能托管Crockfords托管的非小型版本;哈哈,你不能在评论中添加新行字符吗?仅供参考:我在最近的项目中为cdnjs.com的json2服务。我从这个页面上找到了它的链接。有些人不喜欢这样。我不知道为什么,因为从7到9都是不同的版本。一些工程师正在以KOI-7格式解释json2。结果,用户得到了JavaScript错误:“JSON未定义”。我尝试将脚本标记的@charset属性设置为UTF-8,但没有解决问题。我的修复方法是将json2与其他js文件一起提供。(压缩和缩小)。如果您有任何问题,请随时与我联系。对于不安全地提供内容的页面,https应该是http吗?i、 e.不是“混合安全和不安全的内容”?再想一想,我认为将github用作cdn不是一个好主意,请参阅此问题的答案:@ShaggyFrog一个技巧:您可以删除
http:
https:
,脚本将使用该站点的正确方法加载://github.com/douglascrockford/JSON-js/raw/master/json2。js@DannyLane,您应该编辑您的答案,其中包含关于不使用GitHub作为JS的CDN的信息。不确定为什么这个答案最近被否决,我在大约3年前更正了它,说不使用这种方法。