jQuery 通过 Google CDN 最佳实践
我使用以下代码通过 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在您的示例代码中,他们将下载 Google 版本如果由于其他网站原因他们还没有该版本。然后如果由于某种原因谷歌关闭了,他们会下载你的版本,他们不会同时下载两个版本。仅当第一个(来自 Google)失败时才会请求第二个。
检查是这样的:
jQuery
(JavaScript 对象)?if()
为 false,继续。标记从您的网站加载它。
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:
jQuery
(the JavaScript object) defined?if()
is false, continue on.<script>
tag just added.