JS模态窗口返回值兼容问题解决方案
来源:互联网 发布:python 类继承 编辑:程序博客网 时间:2024/06/05 19:53
因系统要兼容原IE已使用的关闭方法,经调试测得,需对window.dialogArguments进行再较验,不然易出问题。
function OKEnd(vals) { if (vals == null) vals = "TRUE"; if (typeof (window.opener) == "undefined") { if (typeof (window.dialogArguments) != "undefined") { if (window.dialogArguments && window.dialogArguments != null) { window.opener = window.dialogArguments; if (window.opener && window.opener != null) { window.opener.ReturnValue = vals; } } } } else { if (window.opener && window.opener != null) { window.opener.ReturnValue = vals; } } window.returnValue = vals; self.close();}返回值接收的,只需在原有IE的接收模式下,多较验一下opener就可以了,如下:
//选择变更部门 function SetOrganizeTree2() { var url="弹出页面"; var ret = window.showModalDialog(url, window, "dialogWidth=400px;dialogHeight=500px;status=no;help=no;scroll=yes;resizable=yes;"); if (typeof (ret) == "undefined") { ret = window.ReturnValue; } if (ret) { document.getElementById("hidDeptCode2").value = ret; document.getElementById("btnDeptCodeAdd").click(); } return false; }
JS模态窗口返回值兼容问题解决方案
1、打开弹出窗口时把 window 作为第二个参数传入。
var result = window.showModalDialog(url, window, "dialogWidth=" + width + "px;dialogHeight=" + height + "px;resizable:yes;")
if (typeof (result) == 'undefined') {
result = window.ReturnValue;
}
return result;
2、在弹出窗口中,执行如下JS,以接收传入的window
if (typeof (window.opener) == 'undefined') window.opener = window.dialogArguments;
3、弹出窗口关闭前,调用如下JS赋返回值
window.retureValue = vals;
if (window.opener && window.opener != null)
window.opener.ReturnValue = vals;
window.close();
博客园davidyang78原创,转载请保留此信息
原理探讨:
chrome下,标准方法,在弹出页面不回发的情况下,是可以返回值的。 有回发则不能正常返回值。此方法可以解决。
IE下标准方法,有时不明原因不能正确返回值,此方法可解决。
FF未详细测试,应该问题不大。
- JS模态窗口返回值兼容问题解决方案
- JS模态窗口返回值兼容问题解决方案
- JS模态窗口返回值兼容问题解决办法
- js模态对话框,返回值到父窗口
- JS获取弹出窗口返回的值
- 模态窗口返回值给当前窗口页面
- 得到模态窗口的返回值
- IE8 模态窗口解决方案
- JS关闭窗口,返回到上一窗口
- JS模态窗口
- JS 模态窗口
- js获得open开的模式窗口的返回值
- Js弹出showModalDialog窗口---返回值或数组
- 带返回值的模态窗口UIAlertView
- 文本框双击事件弹出模态窗口接收返回值
- js兼容问题
- JS兼容问题
- js兼容问题
- Shell学习笔记
- Linux下C编程:undefined reference to ‘pthread_create'问题
- 异常解释
- Largest Rectangle in Histogram
- linux 初学之命令行
- JS模态窗口返回值兼容问题解决方案
- 干掉com.mchange.v2.log.MLog <clinit>的日志
- Android开发环境搭建(Windows 7)
- Container With Most Water
- OPEN CURSOR PACKAGE SIZE AND WORK AREA
- 计算机语言发展的过程
- leecode Decode Ways
- 面试基础题系列(三)java, int最大值问题
- 橡皮擦