jQuery 通过 Google CDN 最佳实践

发布于 2024-09-24 23:26:08 字数 543 浏览 6 评论 0原文

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

我的主要问题是,如果用户访问我的网站并且尚未预缓存 jQuery,将会发生什么情况。他会下载 Google 版本和我自己的版本吗?这里的并发是如何工作的?

<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>

谢谢。

I'm loading jQuery via Google's CDN using the following code.

My main question is what will happen if a user hits my site and hasn't yet got jQuery pre-cached. Will he download the Google version and my own? How does concurrency here work?

<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>

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

叹倦 2024-10-01 23:26:08

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

检查是这样的:

  1. 我们是否缓存了谷歌版本?
    • - 好的,可以使用它。
    • - 从 Google 下载并使用它。
  2. 是否定义了 jQuery(JavaScript 对象)?
    • - 好的,加载正常,if() 为 false,继续。
    • - 天哪! Google 加载失败,无论是从缓存还是提取,需要从其他地方加载
      • 通过刚刚添加的新

In your example code they will download the google version if they don't already have it because of another site. Then if for some reason google is down, they'll download your version, they won't download both. The second is only requested if the first (from Google) fails.

The check goes like this:

  1. Do we have the google version cached?
    • Yes - Ok good to go, use it.
    • No - Download it from Google, use it.
  2. Is jQuery (the JavaScript object) defined?
    • Yes - ok it loaded fine, the if() is false, continue on.
    • No - oh snap! Google load failed, either from cache or the fetch, need to load it from elsewhere
      • Load it from your site via a new <script> tag just added.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文