论坛首页 Web前端技术论坛

讨论Ext项目的性能优化

浏览 30127 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-11   最后修改:2008-11-21

现在开发的项目用了Ext+Dwr,页面初始化的时间比较长(我的项目左边是树,右边使用tabPanel引入iframe),有什么优化方法呢?

 

整理各位大侠的意见如下:

方法一:

压缩传输,比如tomcat6下面启用gzip,修改server.xml的配置:
<Connector port="8081" protocol="HTTP/1.1" maxThreads="150" 
  compression="on"
  noCompressionUserAgents="gozilla, traviata" 
  compressableMimeType="text/html,text/xml,text/javascript,text/css"
  connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK"/>

 

一篇介绍Gzip的文章:http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/  不错!

  

一篇介绍iframe直接使用父页面的js和css技术的文章:http://matthew.delmarters.com/weblog/injecting-javascript-and-css-into-iframes/#comment-64462 不是很明白!

 

当然还有其他的一些压缩工具:比如E3压缩。

 

方法二:

项目中Ext代码优化。

1. 不推荐使用iframe加载的方式,使用autoload。

2. 在完成了组件对象的使用以后必须回收,可以使用对应对象的destroy,beforeDestroy,removeAll等方法销毁对象以及一些孤立节点。

3. 不要把继承层次弄的太深。

。。。

   发表时间:2008-11-11   最后修改:2008-11-11
把你的firebug的控制台发上来看看
  • 大小: 16.5 KB
0 请登录后投票
   发表时间:2008-11-12  
看到很多人都说用gzip压缩,这个怎么搞?
0 请登录后投票
   发表时间:2008-11-12  
google了一下关于tomcat6下面的启用gzip的配置:
<Connector port="8081" protocol="HTTP/1.1" maxThreads="150" 
  compression="on"
  noCompressionUserAgents="gozilla, traviata" 
  compressableMimeType="text/html,text/xml,text/javascript,text/css"
  connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK"/>
0 请登录后投票
   发表时间:2008-11-12  
我配置了tomcat6的gzip,但是效果不明显啊
0 请登录后投票
   发表时间:2008-11-12  
为什么我用firebug查看会有重复请求?
我的操作是点击树,刷新右边的iframe
0 请登录后投票
   发表时间:2008-11-12  
代码 哩?
0 请登录后投票
   发表时间:2008-11-12  
ctree.on('click', function(node) {
if (node.leaf) {
	var nodeid = "treenode" + node.attributes.id;
	var tab = mainPanel.getItem(nodeid);
	if (tab) {
		var obj = document.getElementById("f_" + nodeid);
		obj.src = node.attributes.url;
		// tab.setTitle(node.attributes.text);
		mainPanel.setActiveTab(tab);
	} else {
		var iFrame1 = '<iframe id="f_' + nodeid + '" frameborder="0" width="100%" height="100%" scrolling="auto" src="'
				+ node.attributes.url + '"></iframe>';
		var t = mainPanel.add(new Ext.Panel( {
			id :nodeid,
			title :node.attributes.text,
			autoScroll :true,
			closable :true,
			html :iFrame1
		})).show();
		mainPanel.setActiveTab(t);
	}
	var msg = "&nbsp;&nbsp;&nbsp;正在加载页面...&nbsp;&nbsp;";
	var body = Ext.get("tabs");
  body.mask(msg,'page-loading');
  Ext.fly(Ext.query('div[class^=ext-el-mask-msg]')[0]).center(); 
} else {
	node.toggle();
}
}, this, {
	stopEvent :true
});

主要是这一块,树点击刷新右边iframe
0 请登录后投票
   发表时间:2008-11-13   最后修改:2008-11-13
我也是刚刚在用ext
你是否在写页面时就已经把<ifram>写了一次呢?
加载完又用Ext重新绚染一次呢?
你的页面上的ifram的src=是空的么?
0 请登录后投票
   发表时间:2008-11-14  
阳光晒晒 写道

我也是刚刚在用ext 你是否在写页面时就已经把&lt;ifram&gt;写了一次呢? 加载完又用Ext重新绚染一次呢? 你的页面上的ifram的src=是空的么?

页面上是没有iframe的
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics