尝试在Google(或其他Google托管的lib)上加载托管jQuery的好方法,但如果Google尝试失败,请加载我的jQuery副本?
我不是说谷歌是片状的.有些情况下谷歌副本被封锁(例如在伊朗).
我会设置一个计时器并检查jQuery对象吗?
这两份副本的危险是什么?
并不是真的在寻找"只使用谷歌"或"只使用自己的"等答案.我理解这些论点.我也理解用户可能会缓存Google版本.我正在考虑一般的云回退.
编辑:这部分补充......
由于Google建议使用google.load加载ajax库,并在完成后执行回调,我想知道这是否是序列化此问题的关键.
我知道这听起来有点疯狂.我只想弄清楚它是否可以以可靠的方式完成.
更新:jQuery现在托管在微软的CDN上.
我打算使用谷歌为UI和Core下载jQuery lib.我的问题是,他们允许我为它下载CSS还是我必须自己托管它?
此外,如果我使用谷歌加载我应该如何加载其他插件?我可以将所有插件压缩在一起,还是应该是它自己的单独文件?
问题1:
通过npm安装Twitter Bootstrap的目的究竟是什么?我认为npm是用于服务器端模块的.自己提供引导程序文件比使用CDN更快吗?
问题2:
如果我是npm安装Bootstrap,我将如何指向bootstrap.js和bootstrap.css文件?
实际上,您使用哪个CDN链接到您的jquery文件或任何javascript文件.一个人可能比另一个人更快吗?还有哪些其他因素可以起到决定使用哪种cdn的作用?我知道微软,雅虎和谷歌现在都有CDN.
对于某些人来说这可能是显而易见的,但我一直在想:我为什么要依靠Google的服务器为我的网站托管jQuery?
是不是因为它以这种方式加载得更快?
是否有任何CDN来源为backbone.js以及在我们的项目中使用的underscore.js?
我正在使用亚马逊的CloudFront来提供我的网络应用程序的静态文件.
有没有办法告诉云端分发它需要刷新它的文件还是指出应该刷新的单个文件?
亚马逊建议您将文件版本如logo_1.gif,logo_2.gif等作为此问题的解决方法,但这似乎是一个非常愚蠢的解决方案.绝对没有别的办法吗?
是否有Twitter Bootstrap的托管版本?类似于谷歌上的jQuery托管版本?
我正在使用以下javascript的CDN:
对于每一个,如何在可能被阻止/不可用的实例中恢复使用本地副本?
我正在链接到CDN上的jQuery Mobile样式表,如果CDN失败,我想回到我本地版本的样式表.对于脚本,解决方案是众所周知的:
<!-- Load jQuery and jQuery mobile with fall back to local server -->
<script src="http://code.jquery.com/jquery-1.6.3.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
document.write(unescape("%3Cscript src='jquery-1.6.3.min.js'%3E"));
}
</script>
Run Code Online (Sandbox Code Playgroud)
我想为样式表做类似的事情:
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.css" />
Run Code Online (Sandbox Code Playgroud)
我不确定是否可以实现类似的方法,因为我不确定浏览器在链接脚本时是否以与加载脚本时相同的方式阻塞(也许可以在脚本标记中加载样式表然后把它注入页面)?
所以我的问题是:如果CDN失败,如何确保本地加载样式表?
cdn ×10
jquery ×5
javascript ×2
performance ×2
backbone.js ×1
cloud ×1
css ×1
express ×1
fallback ×1
html ×1
httprequest ×1
jquery-ui ×1
node.js ×1
npm ×1
stylesheet ×1