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

  • 相关阅读:
    vue-修改vue项目运行端口号
    任正非521央视采访全文
    是施压还是真的决裂?
    贸易战风波继续
    华为对封杀的态度和格局
    美国封锁对华为的影响
    布鲁克斯法则 (Brooks's Law)
    2019第20周日
    如何让自己走的更远
    如何应对中年危机
  • 原文地址:https://www.cnblogs.com/sunfeiwto/p/1334904.html
Copyright © 2011-2022 走看看