【问题标题】:jQuery via Google CDN best practicesjQuery 通过 Google CDN 最佳实践
【发布时间】:2011-04-18 10:22:12
【问题描述】:

我正在使用以下代码通过 Google 的 CDN 加载 jQuery。

我的主要问题是,如果用户点击我的网站并且还没有预缓存 jQuery,会发生什么。他会下载谷歌版本和我自己的吗?这里的并发是如何工作的?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    if(typeof jQuery == 'undefined') {
        //<![CDATA[
        document.write("<script src='/includes/jquery-1.4.2.min.js' type='text/javascript'><\/script>");
        //]]>
    }
</script>

谢谢。

【问题讨论】:

  • 我想问的一个问题是,为什么还要进行第二次检查?如果谷歌倒闭了,我很确定大部分互联网都在倒闭……(我只是半开玩笑)。冗余真的有必要吗?
  • @JasCav - 用户无法访问google.com 的可能性有多大,也许在中国?只是我脑海中的一个例子。
  • @JasCav:一位客户曾经无法访问 Google 上的脚本。具体原因我不知道,但最好是预防,多几行不会有伤害。
  • @Nick @BrunoLM - 好的。好点。现在回想起来,我曾经也遇到过类似的情况。谢谢。
  • @JasCav 我可能会说,如果 Google 出现故障,该地区的任何人都不会发现我的网站。但只要他们已经是它的常客......没有理由让谷歌拖累我不时在某些特定网络点上出现短缺(甚至是谷歌!)。

标签: jquery cdn


【解决方案1】:

在您的示例代码中,他们将下载 google 版本如果由于另一个站点,他们还没有它。然后如果由于某种原因谷歌关闭,他们会下载你的版本,他们不会同时下载。第二个仅在如果第一个(来自 Google)失败时被请求。

检查是这样的:

  1. 我们是否缓存了谷歌版本?
    • 是的 - 很好,使用它。
    • - 从 Google 下载,然后使用。
  2. jQuery(JavaScript 对象)是否已定义?
    • 是的 - 好的,它加载正常,if() 是假的,继续。
    • - 哦,快! Google 加载失败,无论是从缓存还是从 fetch,需要从其他地方加载
      • 通过刚刚添加的新 &lt;script&gt; 标记从您的网站加载它。

【讨论】:

  • 完美。喜欢你的回答方式。正是我的目标。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多