如何在IE, Firefox, Opera浏览器中支持页面弹出并回传数据
2009-08-07 16:01
387 查看
如何在IE, Firefox, Opera浏览器中支持页面弹出并回传数据
转自:如何在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)
{
// 这里可以将传入的值记录到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设置为起始页面即可.
源码
相关文章推荐
- 如何在IE, Firefox, Opera浏览器中支持页面弹出并回传数据
- 如何在IE,Firefox,Opera浏览器中支持页面弹出并回传数据
- 如何在IE, Firefox, Opera浏览器中支持页面弹出并回传数据[转]
- 如何使用JS脚本处理XML字符串或XML文件(适用于IE、Opera、Firefox浏览器)
- 支持多浏览器(IE、Firefox、Opera)剪切板复制函数_脚本之家修正版
- jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
- IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
- [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器
- IE, FireFox, Opera 浏览器支持CSS实现Alpha透明的方法 兼容问题
- 为何firefox不支持insertRow和insertCell。我如何能让firefox显示和ie显示的效果一样?iframe实现高度自适应,兼容FF、Opera、Safari
- 解析IE, FireFox, Opera 浏览器支持Alpha透明的方法
- css中@media写法在ie 、firefox、Opera、Chrome、Safari 浏览器中的支持
- JS 在页面上直接将json数据导出到excel,支持chrome,edge,IE10+,IE9,IE8,Safari,Firefox
- 关闭子页面刷新父页面时候,Firefox 必须发送将会导致重复之前动作的数据(例如搜索或者下订单)。 ie提示:若要再次显示该页面,web浏览器需要重新发送您以前提交的信息
- IE, FireFox, Opera 浏览器支持Alpha透明的方法
- IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
- [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器
- JS 在页面上直接将json数据导出到excel,支持chrome,edge,IE10+,IE9,IE8,Safari,Firefox
- (轉)js判断浏览器(支持区分ie、firefox、opera、chrome、safari)
- 解析IE, FireFox, Opera 浏览器支持Alpha透明的方法