相关疑难解决方法(0)

使用谷歌托管的jQuery的最佳方式,但回到我在谷歌上的托管库失败

尝试在Google(或其他Google托管的lib)上加载托管jQuery的好方法,但如果Google尝试失败,请加载我的jQuery副本?

我不是说谷歌是片状的.有些情况下谷歌副本被封锁(例如在伊朗).

我会设置一个计时器并检查jQuery对象吗?

这两份副本的危险是什么?

并不是真的在寻找"只使用谷歌"或"只使用自己的"等答案.我理解这些论点.我也理解用户可能会缓存Google版本.我正在考虑一般的云回退.


编辑:这部分补充......

由于Google建议使用google.load加载ajax库,并在完成后执行回调,我想知道这是否是序列化此问题的关键.

我知道这听起来有点疯狂.我只想弄清楚它是否可以以可靠的方式完成.


更新:jQuery现在托管在微软的CDN上.

http://www.asp.net/ajax/cdn/

jquery cdn google-ajax-libraries

1012
推荐指数
10
解决办法
15万
查看次数

为什么在从JavaScript生成HTML时使用\ x3C而不是<?

我看到以下HTML代码用于从内容交付网络加载jQuery,但如果CDN不可用(例如在Modernizr文档中),则回退到本地副本:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.1.min.js">\x3C/script>')</script>
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么语句中的最后一个<字符document.write()用转义序列替换\x3C<是一个安全的JavaScript字符,甚至在同一个字符串中使用,所以为什么要在那里逃避?是否只是为了防止错误的浏览器实现认为</script>字符串内部是真正的脚本结束标记?如果有的话,那里真的有任何浏览器会失败吗?

作为一个后续问题,我也看到了一个变体unescape()(在这个答案中给出)在野外也有几次.是否有一个原因,为什么这个版本似乎总是代替所有<>人物?

html javascript browser escaping

29
推荐指数
1
解决办法
2万
查看次数