正如我所看到的,每次加载站点时加载jQuery都非常慢。即。
<!-- jQuery -->
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<!-- Site Scripts -->
<script type="text/javascript" src="js/myJS.js"></script>
与将jQuery下载到本地文件系统并在本地导入相比。即。
<!-- jQuery -->
<script type="text/javascript" src="js/jquery-someversion.min.js"></script>
<!-- Site Scripts -->
<script type="text/javascript" src="js/myJS.js"></script>
显然取决于加载脚本时我的互联网速度。
我想知道是否有某种类型的jQuery API允许我使用HTML脚本标记“懒惰加载”它(jQuery)。懒惰加载jQuery的意思是:只加载我将要使用的特定功能,即
<!-- jQuery -->
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js/events"></script>
<!-- Site Scripts -->
<script type="text/javascript" src="js/myJS.js"></script>
更改了来源:&lt;脚本.... src =“http://code.jquery.com/jquery-latest.min.js/ 事件”/&gt;
我知道我可以查找该特定功能的jQuery代码并在需要时自行加载,但我不希望每次jQuery都将这些功能复制到我的本地文件系统更新或其他什么。如果你还没有到达我要去的地方,我想要的是有一种方式,我知道这些功能是最新的和支持的(通过jQuery)所以后来的bug修复/改进/更改/添加/交叉-browser-对jQuery的支持在我的网站中“自动”实现。
答案 0 :(得分:2)
你 总是提取jquery-latest
vs jquery-version
的速度变慢 - 服务器强制执行它。例如:
http://code.jquery.com/jquery-latest.min.js
http://code.jquery.com/jquery-1.10.2.min.js
请注意,现在发送了一个非常的日期Expires
标头。这意味着一旦加载了第一个页面,浏览器将长时间缓存此版本,使后续页面调用几乎没有延迟。
但是,通过使用最新版本,您强制浏览器为每个页面加载获取此文件。当然这会增加延迟。
我想要的是有一种方式,我知道这些功能是最新的和支持的(通过jQuery)所以后来对jQuery的错误修复/改进/更改/添加/跨浏览器支持是“自动的” “在我的网站上实施。
除非您撰写使用$.browser
,.die()
或.live
的内容,否则会想知道为什么它不再有效。
可以说花几分钟时间来更新你的JS文件(特别是如果它意味着你的网站昨天工作但今天没有,你不知道为什么)。
答案 1 :(得分:2)
如果您将使用cdn路径,那么如果先前已缓存该文件,则不会重新下载该文件。它增加了缓存命中的可能性。 (随着越来越多的网站遵循这种做法,越来越多的用户已经准备好了文件。)
答案 2 :(得分:2)
您可以创建自己的jQuery版本,但您必须自己托管它。
按照"How to build your own jQuery" guide的说明操作:
可以创建不包含jQuery功能子集的特殊版本。当构建器确定没有使用jQuery的那些部分时,这允许更小的自定义构建。例如,仅为$ .ajax()使用JSONP并且不需要计算元素的偏移或位置的应用程序可以排除偏移量和ajax / xhr模块。
答案 3 :(得分:1)
你不这么说! jQuery的大小只有32KB!
http://code.jquery.com/jquery-latest.min.js
您将花费更多时间加载多个文件而不是一个文件。此外,将所有JS和CSS文件合并为一个JS和一个CSS文件是个好主意。