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兼容的函数

  • 相关阅读:
    hibernate的缓存机制
    [poj 3159]Candies[差分约束详解][朴素的考虑法]
    POJ 2773 Happy 2006
    给定一个循环链表,实现一个算法返回这个环的开始结点
    使用jQuery创建模态窗口登陆效果
    实战数据结构(3)_两个单链表间的合并操作
    sql的强大功能(看一条sql解决的复杂业务)
    uva 10905 Children's Game (排序)
    JFinal学习 & Gradle配置续 & Tomcat配置
    Gradle项目学习 & HttpAsyncClient学习 & CountDownLatch学习
  • 原文地址:https://www.cnblogs.com/sunfeiwto/p/1334904.html
Copyright © 2011-2022 走看看