js调用父窗关闭子窗口

生活 2019-02-22 08:32:55 1103

本文收集整理关于js调用父窗关闭子窗口的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:Javascript 子窗口调用父窗口js方法
  • Q2:如何实现子窗口关闭父窗口也关闭
  • Q3:js子窗口关闭,父窗口跳转指定页面
  • Q4:父窗口如何调用子窗口里的js方法
  • Q1:Javascript 子窗口调用父窗口js方法

     JS子窗口调用父窗口的方法:

     框架(iframe)形式,这时用到是window.parent,window.parent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。可以用这一点特性来判断这个窗口是否是顶层窗口。详情如下:

    1、1.html代表的是父窗口

    123456789101112131415<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>父页面<body><iframesrc="https://www.yijitao.com/aldyjtapi/2.html"width="100%">2、2.html代表的子窗口

    123456789101112131415161718<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>子页面<scripttype="text/javascript">functionchangeValue(val){var_parentWin=window.parent;_parentWin.form1.username.value=https://www.yijitao.com/aldyjtapi/val;}</script><body>

    这时在子窗口(iframe窗口)所做的改变,会改变父窗口中username的值。

    Q2:如何实现子窗口关闭父窗口也关闭

    // 关闭窗口.
    function closeWin(){
    // 可能存在frame页面,所以要引用top窗口.
    var win = top.window;
    try{
    // 聚焦.
    if(win.opener)win.opener.focus();
    // 避免IE的关闭确认对话框.
    win.opener = null;
    }catch(ex){
    // 防止opener被关闭时代码异常。
    }finally{
    win.close();
    }
    }
    // 刷新打开本窗口的opener窗口.
    function refreshOpener(){
    // 可能存在frame页面,所以要引用top窗口.
    var win = top.window;
    try{
    // 刷新.
    if(win.opener)win.opener.location.reload();
    }catch(ex){
    // 防止opener被关闭时代码异常。
    }
    }// 刷新opener窗口后关闭自己。
    function refreshOpenerAndCloseMe(){
    refreshOpener();
    closeWin();
    } <script language="JavaScript" type="text/JavaScript">
    window.opener.location.reload(); //刷新父窗口
    window.close(); //关闭子窗口.
    </script>

    Q3:js子窗口关闭,父窗口跳转指定页面

    下面是示例代码,带注释,请仔细阅读:

    1、 父窗口 A

    1234567891011121314151617181920212223242526272829303132333435363738<linkhref="https://www.yijitao.com/aldyjtapi/skins/default.css"rel="stylesheet"/><scriptsrc="https://www.yijitao.com/aldyjtapi/artDialog.min.js"></script><script>//全局变量,保存弹窗窗口句柄vardialog;//定义弹出窗口操作函数window.myDialog=function(){//如果之前有已经打开的弹窗,则先将其关闭。if(dialog)dialog.close();//弹出窗口dialog=art.dialog({title:登录,content:密码:+<iframesrc="https://www.yijitao.com/aldyjtapi/C"><\/iframe>,lock:true,fixed:true,ok:top.closeMyDialog,//处理窗口关闭操作okValue:登录,cancel:function(){}});}//定义关闭窗口操作函数window.closeMyDialog=function(){//处理弹出窗口的内容alert(document.getElementById(login-pw)value);//关闭窗口dialog.close();//改变iframe框架指向frames[0].location.href=https://www.yijitao.com/aldyjtapi/anywhere_u_want.htm;}</script><body><iframesrc="https://www.yijitao.com/aldyjtapi/B"></iframe>

    2、 Iframe 窗口 B (在 A 中)

    1

    3、 其实上面两个的结构应该足够使用了。但如果你非要在 C 窗口中操作,那么 C 中的按钮可以这样:

    1

    =====

    总结:

    其实说穿了,就是通过 top 对象来获取顶层窗口,进行对应的操作。通过 frames 来对子框架进行操作。

    以上,请采纳,请给分。

    Q4:父窗口如何调用子窗口里的js方法

    1、定义一个子窗口

    12345new.htm<script>functiontesta(){//定义子窗口的方法}</script>

    2、定义父窗口,并调用子窗口的方法

    123456<script>functionopenWindow(){varnewWindow=window.open(“new.htm”,"","width=400,height=300");//打开子窗口,并返回子窗口的windownewWindow.testa();//调用子窗口的方法}</script>

    相关文章
    html调用外部js文件函数2019-02-25
    html调用js文件函数2019-02-26
    调用另一个页面的方法2019-03-01
    excel调用其他工作表数据相加2019-03-22
    c语言函数可以嵌套调用吗2019-06-20
    python调用类中的方法2019-06-27
    在Java中空对象调用成员变量2019-08-15
    win7彻底关闭自动更新2019-01-11
    win10彻底关闭自动更新2019-01-12
    如何关闭自动更新系统2019-01-12