zoukankan      html  css  js  c++  java
  • 如何在IE, Firefox, Opera浏览器中支持页面弹出并回传数据



    如何在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设置为起始页面即可.
    源码
  • 相关阅读:
    Python学习笔记:pandas.read_csv分块读取大文件(chunksize、iterator=True)
    Python学习笔记:os.stat().st_size、os.path.getsize()获取文件大小
    7-1 打印沙漏
    7-1 币值转换
    7-1 抓老鼠啊~亏了还是赚了?
    第四周编程总结哦也
    2018秋寒假作业6—PTA编程总结3
    PTA编程总结3
    PTA编程总结1
    秋季学期学习总结
  • 原文地址:https://www.cnblogs.com/starlet/p/1541278.html
Copyright © 2011-2022 走看看