首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >headjs解析顺序

headjs解析顺序
EN

Stack Overflow用户
提问于 2011-06-24 22:06:27
回答 1查看 191关注 0票数 0

我正在研究headjs (http://www.headjs.com)来加速javascripts的加载。从文档来看,显然有可能控制脚本的执行顺序,然而,解析顺序则是另一回事,afaik尚未确定。

在走这条路之前,我想知道以下内容是否会带来潜在的问题:

并行加载jquery.js和scripts.js,如下:

head.js("//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js","/js/script.js");

除了其他功能之外,scripts.js还具有一些扩展jquery的功能,例如:

$.fn.extend({ myMethod: function(){...} });

当scripts.js恰好在jquery.js之前加载(和解析)时,这是否会潜在地导致解析问题('$‘或'jquery’未定义),或者是否只在脚本执行时检查'$‘的定义?(这不会没有问题,因为scripts.js是在jquery之后执行的)

我测试了一下,不管顺序是什么:head.js("//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js","/js/script.js");

head.js("/js/script.js","//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js");

在执行以下操作时,该扩展似乎可以工作:

head.ready(function() { $('#someel').myMethod(); });

不知何故,我很高兴它能工作,但同时我也小心翼翼地相信它每次都能工作。毕竟,在定义要在'jquery.js‘之前执行的'scripts.js’时,我希望'$‘是未定义的。

对这件事的一些启发将不胜感激!

谢谢,Geert-Jan

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-24 22:13:43

通过head.js文档,将触发ready方法:

加载所有脚本且文档可脚本化后执行

因此,无论包含顺序如何,head.ready中的代码都应该是正确的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6468935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档