我一直在使用以下代码在我的所有项目中加载 JQuery。我从http://html5boilerplate.com/抓起它。对这项技术有广泛的讨论here .
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="jquery-1.7.1.min.js"><\/script>');</script>
这段代码工作得很好,而且一旦我把它放在互联网上,看起来就非常快,但是当我在本地打开我的 .html
文件时,每次刷新大约需要 10 秒。一般来说,我厌倦了并按如下方式更改代码:
<!-- uncomment when going live
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="jquery-1.7.1.min.js"><\/script>');</script>-->
<!-- remove following line when going live -->
<script src="jquery-1.7.1.min.js"></script>
我在这里遗漏了一些明显的东西吗?我觉得我不应该获得超慢的加载时间,但当注释掉这些行时它确实会自行解决。
最佳答案
我猜您没有通过网络服务器提供 HTML。
url 上的 //
前缀表示它应该使用与当前资源相同的协议(protocol)(通常是 http 或 https)
由于您不是通过 http 而是通过文件提供服务,因此它会尝试在本地文件系统上查找它,最终超时。
Chrome 检查器上的网络选项卡显示它正在尝试为我加载以下内容:
file://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
file:///C:/Users/[My Username]/Documents/jquery-1.7.1.min.js
它将尝试加载这些时间,文件系统(或者可能是浏览器)最终将超时。
正确的方法是通过 Web 服务器提供服务,如果您使用的是 Windows,则为 IIS;如果您使用的是 Linux/Mac,则为 Apache(Apache 也适用于 Windows,但 IIS 具有更好的 UI 工具)
关于jquery - 使用Html5boilerplate的代码加载JQuery在本地运行时非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8718662/