JS模态窗口返回值兼容问题解决办法
2011-10-11 14:31
337 查看
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未详细测试,应该问题不大。
PS1: chrome的模态弹出窗体比IE友好的多。
PS2:模态弹出窗体是一种很好理解和简单的模式,使各页面偶合不用太紧密,有利于页面重用。
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未详细测试,应该问题不大。
PS1: chrome的模态弹出窗体比IE友好的多。
PS2:模态弹出窗体是一种很好理解和简单的模式,使各页面偶合不用太紧密,有利于页面重用。
相关文章推荐
- JS模态窗口返回值兼容问题解决方案
- JS模态窗口返回值兼容问题的完美解决方法
- JS模态窗口返回值兼容问题解决方案
- JS模态窗口返回值兼容问题解决方案
- JS模态窗口返回值兼容问题解决方案
- JS模态窗口返回值兼容问题解决方案
- js浏览器兼容问题总结及解决办法
- js浏览器兼容问题总结及解决办法
- bootstrap 模态窗口 第二次无法加载js 的解决办法
- js浏览器兼容问题总结及解决办法
- 火狐不执行js的一些解决办法及火狐对js的兼容问题
- 火狐不执行js的一些解决办法及火狐对js的兼容问题
- 火狐不执行js的一些解决办法及火狐对js的兼容问题
- 使用dwr同步调用导致无法获取js方法的返回结果问题的解决办法
- js上传图片在ie8中出现不兼容问题HTTP ERROR 解决办法
- 使用异步js解决模态窗口切换的办法
- js浏览器兼容问题总结及解决办法
- 火狐不执行js的一些解决办法及火狐对js的兼容问题
- ie不兼容的几个js问题及解决办法
- js浏览器兼容问题总结及解决办法