easyUI如何在当前页面弹出jsp子页面

$("#MyPopWindow").window({
					title : '子页面',
					width : 850,
					height : 495,
					href:ctx + '/jsp/child.jsp',
					cache:false,
					onLoad: function() {
					console.log(“加载子页面时执行的”);					
						init();
					},
					onClose : function() {
						$(this).dialog('destroy');
						$(this).remove(); 
						
					}
				}); 	

2.利用iframe避免浏览器不兼容问题,更好的渲染效果

title ="子页面";
		url = ctx + '/jsp/child.jsp';
	var content = '<iframe id="vpn" src="' + url + '" width=100%" height="99%" frameborder="0" scrolling="no"></iframe>';  
	 var boarddiv = '<div id="msgwindow" title="' + title + '"></div>'//style="overflow:hidden;"可以去掉滚动条  
	 		$(document.body).append(boarddiv);  
	 		$('#msgwindow').show();
	 		var win = $('#msgwindow').dialog({  
		        content: content,  
		        width: 850,  
		        height: 495,  
		        modal: false,  
		        title: title,
				onClose : function() {
					$(this).dialog('destroy');
						$(this).remove(); 
				}  
		    });  
	
			
		}

3.
**注:

  • 在FireFox下id不能获取iframe对象
    使用jQuery的Dialog控件时,jQuery会将创建的dialog缓存到页面上,生成一些隐藏的div,当再次创建dialog时,由于id相同总会调用缓存中的Dialog,导致无法显示想要显示的内容。查了dialog有destroy方法,依然没有作用。

destroy销毁的jquery ui给你生成dialog时候的那些jsp,不会销毁元素本身,要销毁元素本身要用remove

火狐浏览器上需刷新当前页面

//在onclose: function(){}中写上
	window.location.reload();
//当你第二次弹框时可能无法弹出页面
//由于浏览器的兼容和加载机制,火狐不会自动加载,不会再重复渲染。
//从缓存中去取这个url,弹框不加载,导致弹框显示失败


1,子iframe内调用父类函数方法:

window.parent.func();

2,子Iframe中获取父界面的元素:

$("#xx", window.parent.document);

这个xx就是父界面中要获取的元素的ID。

3,jquery 调用子iframe页面中js的方法:


 iframefunction()是子页面的方法

  $(window.parent.document).contents().find("#iframename")[0].contentWindow.iframefunction(); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值