首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript加载顺序的疑问?该怎么处理

2012-05-15 
javascript加载顺序的疑问???JScript codevar basePath javascript/function include(file) {for (va

javascript加载顺序的疑问???

JScript code
var basePath = 'javascript/';function include(file) {        for (var i = 0; i < file.length; i++) {           ......           document.write("<" + tag + attr + link + "></" + tag + ">");        }}include(['jquery-1.4.1.min.js','book.js']);$._newFun= function (content, callback) {    ......};

为什么报$没有定义???明明已经先把jquery-1.4.1.min.js加进来了的,我用firefox看了源代码,没问题
而把$._newFun= function (content, callback) {};放在book.js里却能正常运行

[解决办法]
include 动态加载js

根据楼主描述 include 里的引入是按照顺序来加载的, 
['jquery-1.4.1.min.js','book.js'],意思是 加载完了jquery 再加载book
所以 把$._newFun= function (content, callback) {};放在book.js里却能正常运行


如果 
include(['jquery-1.4.1.min.js','book.js']);
$._newFun= function (content, callback) {
......
};
这样的话, 
执行include的时候,仅仅是请求了2个加载链接,就马上执行$._newFun了,然而这个时候jq还没加载完毕,所以就 $没定义了。

楼主可以搜下 js非阻塞加载


[解决办法]
探讨

不知道 你 include 里具体是怎么写的。。。。

<script src="jquery-1.4.1.min.js"></script>
<script src="book.js"></script>
<script>
$._newFun= function (content, callback) {
......
};
</script>

楼主这样写的就是 阻塞……

[解决办法]
浏览器下载时阻塞了,但是你的html输出并没有阻塞

在回调里面执行吧

热点排行