随笔- 15
文章- 0
评论- 8
最新评论
full 2011-05-09 15:53
dojo.ready is not a function
[在此错误处中断] dojo.ready(function () {
上面是在firebug里报的错,readyfunction这函数都没定义
发仔 2009-03-18 11:51
@xmlcss
可以实现啊,这个很简单啊。 暂时忙没时间,有空再做一个简单的例子给你演示一下。。。你要是有空,也做一下,讲太多还是以最终效果为准。
或许你写的代码有问题,而不是$.include的问题。
可以实现啊,这个很简单啊。 暂时忙没时间,有空再做一个简单的例子给你演示一下。。。你要是有空,也做一下,讲太多还是以最终效果为准。
或许你写的代码有问题,而不是$.include的问题。
xmlcss 2009-03-18 00:29
你的这个在实际应用中必须这么做:
首先在HTML中引入必要的类库,比如JQ的和你这个加载的。
然后引入一个或者几个JS文件,这些文件里面按照依赖关系排好顺序来 $.include
并且这些JS文件里面如果有其他代码的话那么不能依赖 $.include 的文件。
既然这样,为什么不直接吧这些需要应用的文件直接写在HTML里面。如果说是要在运行时判断要加载那些,但问题是你根本不知道这些文件什么时候加载完成。
你这个根本就不叫同步,不过是把本来要写到head节点中的东西写到一个js文件里面而已。
同步的最简单的测试方法就是
a.js 内容为
$.include('b.js');
$.include('c.js');
alert('this a.js');
b.js内容为
alert('this b.js');
c.js内容为
alert('this c.js');
然后页面应用a.js
如果出现的消息依次为 'this b.js' 'this c.js' 'this a.js' 那么就是同步。
当代码分布在很多文件的时候,要理清楚先加载那个,后加载那个很麻烦。所以只能是依赖加载。每个文件的开头写上他依赖的那些文件,然后自动加载。
比如:
a.js
$.include('b.js');
alert(b);
b.js
$.include('c.js');
var b='b';
alert(c);
c.js
var c='c';
html里面直接应用a.js然后输出的消息必须依次是 'c' 'b'
显然你这个达不到。
首先在HTML中引入必要的类库,比如JQ的和你这个加载的。
然后引入一个或者几个JS文件,这些文件里面按照依赖关系排好顺序来 $.include
并且这些JS文件里面如果有其他代码的话那么不能依赖 $.include 的文件。
既然这样,为什么不直接吧这些需要应用的文件直接写在HTML里面。如果说是要在运行时判断要加载那些,但问题是你根本不知道这些文件什么时候加载完成。
你这个根本就不叫同步,不过是把本来要写到head节点中的东西写到一个js文件里面而已。
同步的最简单的测试方法就是
a.js 内容为
$.include('b.js');
$.include('c.js');
alert('this a.js');
b.js内容为
alert('this b.js');
c.js内容为
alert('this c.js');
然后页面应用a.js
如果出现的消息依次为 'this b.js' 'this c.js' 'this a.js' 那么就是同步。
当代码分布在很多文件的时候,要理清楚先加载那个,后加载那个很麻烦。所以只能是依赖加载。每个文件的开头写上他依赖的那些文件,然后自动加载。
比如:
a.js
$.include('b.js');
alert(b);
b.js
$.include('c.js');
var b='b';
alert(c);
c.js
var c='c';
html里面直接应用a.js然后输出的消息必须依次是 'c' 'b'
显然你这个达不到。
发仔 2009-03-17 15:56
--引用--------------------------------------------------
Chairo.Penn: 不支持../css/style.css这样相对路径?
--------------------------------------------------------
支持,以当前所在的Html文件的相对路径。
Chairo.Penn: 不支持../css/style.css这样相对路径?
--------------------------------------------------------
支持,以当前所在的Html文件的相对路径。
发仔 2009-03-17 15:29
@lswweb2
作用不一样,$.include()是同步加载的。相当于在<head>中输出<script src=...>来加载js,而getScript是在函数处理中加载js。
作用不一样,$.include()是同步加载的。相当于在<head>中输出<script src=...>来加载js,而getScript是在函数处理中加载js。
发仔 2009-03-17 14:47
to xmlcss [未注册用户]:
已做过测试!在IE7 和 Firfox通过。
$.include([“a.js”,"b.js"]);
b.js用到a.js文件的function,这是很正常的需求,我项目中使用非常多,
--引用--------------------------------------------------
xmlcss: 还可能出现的问题是,load事件已经开始执行,但某些需要的js还没下载完。
--------------------------------------------------------
$.json()是放在javascript的头部,不是放在$(function(){...}})中加截的,所以没有这个问题。
--引用--------------------------------------------------
Cat Chen: 根据扩展名判断加载类型其实是不对的……URL中扩展名根本没有任何意义,不具备普遍适用价值。
--------------------------------------------------------
$.include()只判断样式CSS的扩展名是“.css”,否则都是javascript,这也适合正常需求,可加载动态文件(如aspx)的脚本文件
已做过测试!在IE7 和 Firfox通过。
$.include([“a.js”,"b.js"]);
b.js用到a.js文件的function,这是很正常的需求,我项目中使用非常多,
--引用--------------------------------------------------
xmlcss: 还可能出现的问题是,load事件已经开始执行,但某些需要的js还没下载完。
--------------------------------------------------------
$.json()是放在javascript的头部,不是放在$(function(){...}})中加截的,所以没有这个问题。
--引用--------------------------------------------------
Cat Chen: 根据扩展名判断加载类型其实是不对的……URL中扩展名根本没有任何意义,不具备普遍适用价值。
--------------------------------------------------------
$.include()只判断样式CSS的扩展名是“.css”,否则都是javascript,这也适合正常需求,可加载动态文件(如aspx)的脚本文件

