Extjs学习----------动态加载js文件(减轻浏览器的压力)

动态加载js文件可以减轻浏览器的压力,本例使用了Ext.window.Window组件,该组件的学习地址:http://blog.csdn.net/z1137730824/article/details/38538277

具体实现步骤:

(1)建立dynamic.jsp文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP '1HelloWorld.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<link rel="stylesheet" type="text/css" href="js/extjs/resources/css/ext-all.css">
	<script type="text/javascript" charset="utf-8" src="js/extjs/ext-all-debug.js"></script>
	<script type="text/javascript" charset="utf-8" src="js/extjs/ext-lang-zh_CN.js"></script>
	<script type="text/javascript" charset="utf-8" src="MyExt4Study/dynamic.js"></script>
  </head>
  
  <body>
  </body>
</html>
(2)建立dynamic.js和MyWindow.js文件,注意路径

       
文件具体内容:

dynamic.js

Ext.onReady(function(){
	//动态加载js文件步骤:
	//1、在js/extjs/添加文件夹(ux),在ux文件夹中添加自己的文件
	//2、在js/extjs/ux中编写扩展的组件
	//3、启用Ext的动态加载机制,设置加载路径
	//4、创建类的实例并使用
	
	Ext.Loader.setConfig({
		enabled:true,
		paths:{//可以加载多个js
			myux:'js/extjs/ux'//要加载的js所在的路径
		}
	});
	//创建实例
	Ext.create('js.extjs.ux.MyWindow',{
		title:'修改动态加载组件的标题'
	}).show();
	
});
MyWindow.js

//define的类名,一点要严格按照包层次路径去编写
Ext.define('js.extjs.ux.MyWindow',{
		extend:'Ext.window.Window' , //继承Ext的window类
		title:'我是动态加载进来的组件',
        width:300,    //这是窗体的宽度  
        height:'50%', //高度和宽度值可以是数值型的,也可以是字符串型,用字符串型的比较好  
        layout:       //布局  
        {  
            type: 'fit'//Auto(默认),card,fit,hbox,vbox,anchor,table  
//                  align: 'left'  
        },  
        plain:true,//设置窗口背景为透明  
        constrain:true,//设置窗口不超出浏览器边界  
//              constrainHeader:true,//设置窗口的标题不超出窗口的边界,标题之外可以超出  
        modal:true,//设置窗口时模态窗口  
        icon:'js/extjs/icons/icon.png',//设置图标,值为图标的路径  
//              iconCls:'',//CSS样式  
        x:50,   //设置窗体在浏览器中显示的位置  
        y:50,  
        autoScroll:true,//当窗体中的内容很多的时候显示滚动条  
        html:'这是窗体中显示的文字',//窗体中显示的文字,可以使Html文本  
        renderTo:Ext.getBody()//新创建的组件渲染到什么位置  
});
(3)启动服务器进行测试
结果:


打开FireFox控制台,选择网络,查看加载:



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。