zoukankan      html  css  js  c++  java
  • JS模态窗口返回值兼容问题解决方案

    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:模态弹出窗体是一种很好理解和简单的模式,使各页面偶合不用太紧密,有利于页面重用。

    PS3:以前针对此问题,写过一个不太成熟的解决方法。 在网上查此类问题发现被大量转载,但是没有注明出处。希望此文被转载时能注明出处。

    转自:http://www.cnblogs.com/davidyang78/archive/2011/07/29/2121278.html

  • 相关阅读:
    sql日期操作
    用户活跃状态模型
    R基于Bayes理论实现中文人员特性的性别判定
    python的一点小常识
    [工作技能]SVN
    北大计算所词性标注集简表
    c++ boost 汉字和模式串混用的例子
    SVN文本文件报二进制属性的问题
    我的R代码备份
    FaceBook Twitter实习生简历求内推
  • 原文地址:https://www.cnblogs.com/mr-hero/p/4201785.html
Copyright © 2011-2022 走看看