如何在IE, Firefox, Opera浏览器中支持页面弹出并回传数据

在IE中, 弹出模态框可直接使用JS方法: ShowModalDialog(), 这个方法在Firefox3.0以后被支持, 但在较老版本的Firefox和Opera中均不被支持. 需要使用JS标准的window.open()方法.

window.open的语法如下:

oNewWindow = window.open( [sURL] [, sName] [, sFeatures] [, bReplace])

返回当前弹出页面对象. 在弹出窗口中, 可使用window.opener来获得父窗口对象, 可通过直接访问父窗口的客户端控件或者调用其JS方法进行操作:

window.opener.SetValues(val1, val2...);

在实际开发中, 经常遇到这样一个问题. 就是根据子窗口返回的值对父窗口进行刷新, 但这个刷新一般只是部分刷新, 而不是刷新整个页面. 对于这种情况, 可以用Ajax在JS中调用后台方法实现. 不过笔者推荐另外一种刷新方法, 更简单, 更方便, 且效果不错. 就是在JS中虚拟某个按钮的点击, 并在该按钮的点击相应函数中对页面做刷新操作.

function  SetValue(strMsg)
ExpandedBlockStart.gifContractedBlock.gif
{
   
// 这里可以将传入的值记录到hidden控件中,
   // 后来按钮响应函数从hidden控件中取值操作.
   var button = document.getElementById("<%= Button2.ClientID %>");
   button.click();
}

这样就简单实现了IE, Firefox, Opera中弹出页面框并将值回传.

可以将虚拟点击的按钮放到一个div中, 并将div的display属性设置为"none", 因为如果直接设置button的size为(0,0)的话, 在Firefox和Opera下显示会不正常. 具体可参考源码, Default.aspx页面为父页面, Child.aspx为子页面, 运行时将Default.aspx设置为起始页面即可.

源码:

window.open方法的页面刷新 

<如有需要转载请注明出处. 谢谢^_^>

转载于:https://www.cnblogs.com/MolbyHome/archive/2009/04/19/1439361.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值