Extjs 新建窗口并监听子窗口关闭事件

本文介绍了一个使用ExtJS框架创建动态窗口的方法,该方法通过加载iframe实现内容展示,并详细展示了如何根据浏览器尺寸调整窗口大小及位置,同时实现了窗口最大化、还原等交互功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function gridOpenNewWin(url,title){
	var isFistRestore=0;
	var html = "<iframe id='frmForm' name='frmForm' src='"+url+"'+ width='100%' height='100%'></iframe>";
	var fatherStyle = Ext.getBody();
	var bodyWidth =  fatherStyle.getComputedWidth();
	var bodyHeight = fatherStyle.getComputedHeight();
	
	var winId;
	var i;
	for(i=0;i<=WinPosition;)
	{
		winId = "win"+i;
		if(Ext.getCmp(winId))
		{
			i++;
		}
		else{
			if(title.length<1)
				title = '查看窗口'+i;
			var tabs = new Ext.Panel({
					region: 'center',
					margins:'3 3 3 0', 
					defaults:{autoScroll:true},
					html: html
				});
			win = new Ext.Window({
				title:title,
				closable:true,
				maximizable:true,
				width:bodyWidth,
				height:bodyHeight,
				border:false,
				plain:true,
				//modal:true,
				id:winId,
				constrain :true,
				layout: 'border',
				items: [tabs]
			});
			win.show(fatherStyle);
//			win.minimize();
			win.maximize(); 
			win.on('restore', function(){
				if(isFistRestore==0)
				{
					win.setPosition(bodyWidth-i*30-30,0);
					isFistRestore=1;
				}
			});	
			win.on('close', function(){
					window.location.reload() ;
			});	
			if(i==WinPosition)
				WinPosition++;
			break;
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值