zoukankan      html  css  js  c++  java
  • window.parent与window.opener的区别与使用

    1、window.parent 是iframe页面调用父页面对象

    举例: a.html

    <html>
    <head><title>A</title></head>
    <body>
    <form name="form1" id="form1">
    <input type="text" name="username" id="username"/>
    </form>
    <iframe src="b.html" width=100%></iframe>
    </body>
    </html>

    如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrmae中,上传成功后把上传后的路径放入父页面的文本框中),我们应该在b.html中写:

    <script type="text/javascript">
    var _parentWin = window.parent;
    _parentWin.form1.username.value = "xxxx";
    </script>

    Z-Blog的文章编辑页面上传功能就是这么实现的。

    2、window.opener 是 window.open 打开的子页面调用父页面对象

    opener:对打开当前窗口的window对象的引用,如果当前窗口被用户打开,则它的值为null。

    self代表自身窗口,opener代表打开自身的那个窗口,比如窗口a.html打开窗口b.html。如果靠window.open方法,则对于窗口b.html,self代表b.html自己,而opener代表窗口a.html。

    举例:a.html

    <input type="text" name="username" id="username"/>
    <a onclick="window.open(this.href,'','resizable=yes,width=800,height=600,status'); return false" href="b.html">B</a>

    如果需要在b.html中对a.html中的表单元素赋值,我们应该在b.html中这么写

    <a href="javascript:try{window.opener.document.getElementById('username').contentWindow.
    frames[0].document.getElementsByTagName('body')[0].innerHTML+='xxx'}catch(e){};window.close();">插入</a>

    在后面用window.close关闭b.html。WindsPhoto 2.7.3 中在文章编辑页面弹出新窗口(图片列表)后,选择插入已上传图片便是如此实现的。

  • 相关阅读:
    Sql Server 收缩日志文件原理及always on 下的实践
    SQL Agent服务无法启动如何破
    Sql Server Always On 读写分离配置方法
    SQL SERVER 9003错误解决方法 只适用于SQL2000
    SQL Server 数据库分离与附加
    SQL SERVER 的模糊查询 LIKE
    sqlserver 时间格式函数详细
    浅谈SQL Server中的三种物理连接操作
    谈一谈SQL Server中的执行计划缓存(下)
    asp.net获取当前系统的时间
  • 原文地址:https://www.cnblogs.com/opaljc/p/2688950.html
Copyright © 2011-2022 走看看