zoukankan      html  css  js  c++  java
  • 父页面与子页面传数据(脚本传数据)

    在网页程序中,
    有时我们会希望使用者按下按钮后开启一个保持在原窗口前方的子窗口,
    而在IE中,我们可以使用showModalDialog来达成,
    语法如下 :


    vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])


    范例:


    window.showModalDialog("openwin.html","Arguments","dialogHeight: 200px; dialogWidth: 200px; dialogTop: 10px; dialogLeft: 10px; edge: Raised; center: Yes; help: Yes; resizable: Yes; status: Yes;");


    但是.在Firefox中却没有showModalDialog这东西,
    而在FireFox中我们只能使用window.open实现这样的功能,
    window.open的语法如下 :


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


    只是,在Firefox下,window.open的参数中,sFeature多了一些功能设定,
    而在FireFox下要让开启的窗口跟IE的showModalDialog一样的话,
    只要在sFeatures中加个modal=yes就可以了,
    范例如下:


    window.open('openwin.html','newWin','modal=yes,width=200,height=200,resizable=no,scrollbars=no');


    提到了子窗口,不得不提的就是子窗口跟母窗口间的交互操作,
    因为我想很多人开启对话窗口应该都是为了将操作完的结果丢回去给母窗口...


    如果是用showModalDialog的话,
    在子窗口中要存取母窗口的函数的话,
    要注意两个地方,
    1.(母窗口中)开启窗口:


    window.showModalDialog("openwin.html",self,'modal=yes,width=775,height=700,resizable=no,scrollbars=no');


    在第二个参数(vArguments),改成self.


    2.(子窗口中)调用母窗口的函数:


    window.dialogArguments.ShowMsg(obj.value);


    ShowMsg为母窗口中的函数.


    而使用window.open的话,
    则是要注意一个地方,
    1.(子窗口中)调用母窗口的函数:


    window.opener.ShowMsg(obj.value);


    使用window.opener去接母窗口的对象.


    如此一来,只要再透过navigator.appName去判断浏览器为何,
    就可以写一个IE与FireFox兼容的函数

  • 相关阅读:
    linux —— 学习笔记(汇总)
    linux —— ubuntu 初次安装问题
    更改CMD默认的初始路径
    深入浅出理解linux inode结构
    重拾简单的linux指令之info 【转】
    Python 中数据的序列化和反序列化(json处理)
    day07
    Python 的反射机制
    Python 的 __new__()方法与实例化
    Classes as objects
  • 原文地址:https://www.cnblogs.com/sunfeiwto/p/1334904.html
Copyright © 2011-2022 走看看