JS模态窗口返回值兼容问题解决方案
2015-12-10 14:09
239 查看
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();
文章转自:http://www.cnblogs.com/davidyang78/archive/2011/07/29/2121278.html
原理探讨:
chrome下,标准方法,在弹出页面不回发的情况下,是可以返回值的。 有回发则不能正常返回值。此方法可以解决。
IE下标准方法,有时不明原因不能正确返回值,此方法可解决。
FF未详细测试,应该问题不大。
PS1: chrome的模态弹出窗体比IE友好的多。
PS2:模态弹出窗体是一种很好理解和简单的模式,使各页面偶合不用太紧密,有利于页面重用。
PS3:以前针对此问题,写过一个不太成熟的解决方法。 在网上查此类问题发现被大量转载,但是没有注明出处。希望此文被转载时能注明出处。
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();
文章转自:http://www.cnblogs.com/davidyang78/archive/2011/07/29/2121278.html
原理探讨:
chrome下,标准方法,在弹出页面不回发的情况下,是可以返回值的。 有回发则不能正常返回值。此方法可以解决。
IE下标准方法,有时不明原因不能正确返回值,此方法可解决。
FF未详细测试,应该问题不大。
PS1: chrome的模态弹出窗体比IE友好的多。
PS2:模态弹出窗体是一种很好理解和简单的模式,使各页面偶合不用太紧密,有利于页面重用。
PS3:以前针对此问题,写过一个不太成熟的解决方法。 在网上查此类问题发现被大量转载,但是没有注明出处。希望此文被转载时能注明出处。
相关文章推荐
- sso跨域写cookie的一段js脚本
- 对 Sea.js 进行配置 seajs.config
- ElasticSearch.js
- JS脚本动态给元素/控件添加事件
- html特殊字符的html,js,css写法汇总
- JSON序列化与反序列化枚举
- JSON详解
- swipe js插件
- 如何用Sublime text2搭建JavaScript开发环境
- 10004---7 个去伪存真的 JavaScript 面试题
- JS实现手机号码中间四位显示为*号
- js textarea 字数限制
- javascript类的封装『转』
- JavaScript-闭包深入浅出
- javascript图片预加载完整实例
- JavaScript获取DOM元素位置和尺寸大小
- JavaScript 动态加载脚本和样式的方法
- 解决json_encode中文UNICODE转码问题
- JS获取select属性值
- 什么是DOM以及DOM与javascript的简单区分