在本地运行时使用Html5boilerplate的代码加载JQuery非常慢
我一直在使用以下代码在我的所有项目中加载JQuery。 我从http://html5boilerplate.com/上抓了它。 这里对这种技术有广泛的讨论。
window.jQuery || document.write('');
这个代码工作得很好,一旦我把它放在interwebs上似乎很快,但当我在本地打开我的.html
文件时,每次刷新需要大约10秒。 通常我厌倦了并改变代码如下:
<!-- uncomment when going live window.jQuery || document.write('');-->
我错过了一些明显的东西吗? 我觉得我不应该得到超慢的加载时间,但它会在注释掉这些行时自行解决。
我猜你没有通过网络服务器提供HTML服务。
url上的//
前缀表示它应该使用与当前资源相同的协议(通常是http或https)
由于您不通过http而是通过文件提供服务,因此它正在尝试在您的本地文件系统上查找它,最终超时。
Chrome检查器上的网络标签显示它正在尝试为我加载以下内容:
文件://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
file:/// C:/ Users / [我的用户名] /Documents/jquery-1.7.1.min.js
它会尝试加载那些时间,文件系统(或者浏览器)最终会超时。
正确的方法是通过Web服务器提供服务,如果您使用的是Windows,则使用IIS;如果您使用的是Linux / Mac,则可以使用IIS(Apache也适用于Windows,但IIS具有更好的UI工具)
这一行:
试图在您的文件系统中找到jQuery,这意味着它将需要一段时间才能失败。 在查看Google Chrome中开发人员面板的“网络”标签时,它会尝试在文件中查找该file://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
。然后,一旦找不到该文件,它就会使用下一行加载jQuery(并成功找到该文件):
要解决此问题,请将https:
添加到脚本标记的src
中,如下所示: