美文网首页
window.opener 的使用

window.opener 的使用

作者: jeneen1129 | 来源:发表于2023-11-23 09:21 被阅读0次

    https://blog.csdn.net/u014625500/article/details/26867933
    https://www.cnblogs.com/wangdaye/archive/2010/05/03/1726518.html
    本文内容转载上面链接文章,仅用于学习,如有侵权请联系删除!

    1.window.self就表示当前打开的窗口
    2.window.top就表示最顶层的窗口(假如说你在一个窗口里面有嵌套了其他一些窗口,那么top就表示这个最顶层的窗口)
    3.window.parent----是iframe页面调用父页面对象
    举例;
    a.html
    <html>
    <head><title>父页面</title></head>
    <body>
    <form name="form1" id="form1">
    <input type="text" name="username" id="username"/>
    </form>
    <iframe src='#'" width=100%></iframe>
    </body>
    </html>
    需求:如果我们要在b.html中要对a.html中username文本框赋值,
    就如很多上传功能,上传功能也在Iframe中,上传成功后把上传后
    的路径放到父页面中文本框中去。

    那我们就应该在b.html中写;
    <script type="text/javaScript>
    var _parentWin=window.parent;
    _parentWin.form1.username.value="xxxx";
    </script>

    4.window.opener----是window.open打开的子页面对象调用父页面对象
    self代表自身窗口,是对当前window对象的引用,与window属性同义
    opener:代表打开自身的那个窗口,比如窗口A打开窗口B,如果靠window.open方法,
    则对于窗口B,self代表B自己,而opener窗口代表A
    通常在使用window.opener的时候要去判断父窗口的状态,如果父窗口被关闭或者更新,就会出错,解决办法是加上如下的验证if(window.opener && !window.opener.closed)

    Parent对象、Frame对象、Document对象和Form对象的阶层关系-----id
    Window对象→Parent对象→Frame对象→Document对象→Form对象,如下:
    parent.frame1.document.forms[0].elements[0].value;

    <span style="color:red">注意:</span> 如果会出现父页面要弹出多个子窗口,即有好几个窗口的opener都一样,此时需要注意调用的 window.opener.functionName() 中 functionName 不要重复定义,否则只能调通最后一次定义的函数。

    相关文章

      网友评论

          本文标题:window.opener 的使用

          本文链接:https://www.haomeiwen.com/subject/nhawwdtx.html