Ext怎样调用js方法显示问候语

JavaScript024

Ext怎样调用js方法显示问候语,第1张

1、现象描述:

有两个Ext js文件,文件名为a.js和b.js,

a.js中的内容为Ext.onReady(function(){})

b.js中的内容为

Ext.onReady(function(){

function test(){}

})

2、问题:现在想在a.js中调用b.js中的test()方法,该如何调用?

3、回答:

可以把b.js中的内容改为以下方式

var Test=new Object

Ext.onReady(function(){

Test.test=function test(){}

})

这样在a.js中就可以使用test.test()来实现相应的功能了。

当然了,b.js和a.js使用时要引入同一个目标文件中,比如都引入到c.html中

很正常,不要用autoload,用autoload你设成什么也没用。要用iframe

html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src='+ url + '></iframe>'

您需要的是一个动态加载的功能。判断哪些JS(或类)被加载过,而只加载没有的类库。

DOJO

有个动态加载的机制,但我没用过不好评论。

我的做法是用单独做一个JS包,尽可能少的依赖别的架构。用它实现动态加载。一是完成防止自身重复加载,二是有一个页面全局的注册机(一个HASH对象就可以搞定,很简单)

而程序要变的地方有两个,

首先,是所有的JS都用它加载,保障在注册机中的唯一性;

其次,在使用EXT类库的地方,需要等动态加载完以后才可以使用所有的EXT类库。类似的你可以写一个onReadyXXX()的方法。

另外,

相信您也看过动态加载JS的办法,这里还需要注意的一点是FF,IE,Safari对Document.write的JS加载办法处理不一样,IE是同步的,其它是异步的,所以在写这个动态加载类库里要由其注意。需要判断浏览器,要有不同的加载实现。