最近,使用Ext将一个原有项目升级为Ajax的项目。将原有的Ifarem框架全部的抛弃了,使用了Ext中的TabPanel将原本比较单调的页面变的生动起来。
Ext中的TabPanel加载方式有两种,Ifarem方式和直接加载JS的autoload模式。
Ifarem方式:
优点:简单,方便,快捷
缺点:一个很大的弊端就是每次在加载一个新的iframe时都要将Ext的核心js,css文件都需要重新加载。由于Ext是一个庞大的类库,这些文件的体积都很庞大,仅仅是ext-all.js就有400多k,所以用iframe方式加载就大大降低了效率。
autoload模式:
优点:提高了页面的加载效率,增强了页面的表现能力。
缺点:要将项目中所有需要的JS一次性全部加载,造成了登录的加载延时。
所以,我想到了利用ajax方式动态加载JS文件。具体的思路是:
1.先通过树单击事件获得页面的路径,传到后台利用对照表将它所需的JS文件的地址全部转换到。
2.将获得的JS文件地址返回到前台,利用JsLoader函数将得到的文件进行加载。
利用JS进行动态加载JS脚本的代码如下:
Code