论坛首页 Web前端技术论坛

模式对话框画面自提交后,dialogArguments丢失的问题(Firefox)

浏览 4118 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-11-11   最后修改:2010-11-22
主画面弹出模式对话框,要求在模式对话框画面能单次动态操作主画面内容可以通过window.returnValue来实现
多次动态操作主画面内容可以通过传递主画面的函数到弹出页面来实现

Firefox下window.showModalDialog弹出的模式对话框画面,画面自提交后,window.dialogArguments会丢失,同时window.opener属性存在

而IE下下window.showModalDialog弹出的模式对话框画面,画面自提交后,window.dialogArguments不会丢失,同时window.opener属性不存在

兼容的做法(没有测试过IE,Firefox以外的浏览器)
	var callBack = null;
	// IE浏览器 (画面自提交后,window.dialogArguments不会丢失,同时window.opener属性不存在)
	if ($.browser.msie){
		callBack = window.dialogArguments;
	}
	else
	{
		// Firefox浏览器(画面自提交后,window.dialogArguments会丢失,同时window.opener属性存在),
		if (window.opener.callBack == undefined) {
			window.opener.callBack = window.dialogArguments;
		}
		callBack = window.opener.callBack;
	}
   发表时间:2010-11-11  
callBackFunction一般传个window对象,也很省事
0 请登录后投票
   发表时间:2010-11-11  
嗯 不过即使是Windows对象,弹出画面自提交后也存在丢失的问题
0 请登录后投票
   发表时间:2010-11-12  
returnValue...
0 请登录后投票
   发表时间:2010-11-13   最后修改:2010-11-13
returnValue只能在关闭模式对话框的时候使用!!!
需求是模式对话框弹出的过程中,操作N次画面
(其实就是弹出一个品牌页面,点击一个按钮就选中
一个品牌,点击N次选择N个)
0 请登录后投票
   发表时间:2010-11-19  
之前我也做了一个,子窗框访问父窗体有限制,后来我又做了一个div的遮照层
0 请登录后投票
论坛首页 Web前端技术版

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