zoukankan      html  css  js  c++  java
  • window.parent与window.openner区别介绍

    今天总结一下js中几个对象的区别和用法:
    首先来说说 parent.window与top.window的用法
    "window.location.href"、"location.href"是本页面跳转
    "parent.location.href"是上一层页面跳转
    "top.location.href"是最外层的页面跳转
    举例说明:
    如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写
    "window.location.href"、"location.href":D页面跳转
    "parent.location.href":C页面跳转
    "top.location.href":A页面跳转
    现在终于明白了连接的时候target的用法了:
    _blank:重新打开一个窗口
    _parent:父窗口执行重定向
    _self:自身页面重定向
    _top:第一个父窗口重定向
    综上所述可知:parent.window:父窗口对象 top.window:第一个父窗口的对象
    下面来重点看看window.parent与window.openner区别
    window.parent 是iframe页面调用父页面对象,当我们想从iframe内嵌的页面中访问外层页面是可以直接利用window.parent获取;
    例子如下:
    A.html
    复制代码 代码如下:
    <html>
    <head>
    <title>父页面</title>
    </head>
    <body>
    <form id="form1" action="">
    <div>
    输入值:
    <input type="text" name="username" id="username" /><br />
    <iframe src="b.html" width="400px" height="300px"></iframe>
    </div>
    </form>
    </body>
    </html>

    B.html
    复制代码 代码如下:
    <html>
    <head>
    <script type="text/javascript">
    function getpValue()
    {
    document.getElementByIdx_x_x_x("span1").innerText=window.parent.document.getElementByIdx_x_x_x("username").value;
    }
    </script>
    </head>
    <body>
    <span>文本框值为:</span><span id="span1"></span><br />
    <input type="button" value="获取父窗口内的文本框值" onclick="getpValue();">
    </body>
    </html>

    window.opener 是window.open或超链接<a> 打开的子页面调用父页面对象
    例子如下
    a.html
    复制代码 代码如下:
    <html>
    <head>
    <title>父页面</title>
    <script type="text/javascript">
    function openB()
    {
    window.open('b.html','b','width=400,height=200,status=no,toolbar=no,menubar=no,location=no,resizable=yes,left=200,top=100');
    }
    </script>
    </head>
    <body>
    <form id="form1" action="">
    <div>
    输入值:
    <input type="text" name="username" id="username" /><br />
    <input type="button" value="打开窗口B" onclick="openB();" /><br />
    <a href="b.html" target="_blank">超链接打开B页面</a>
    </div>
    </form>
    </body>
    </html>

    b.html
    复制代码 代码如下:
    <html>
    <head>
    <script type="text/javascript">
    function getpValue()
    {
    document.getElementByIdx_x_x_x("span1").innerText=window.opener.document.getElementByIdx_x_x_x("username").value;
    }
    </script>
    </head>
    <body>
    <span>文本框值为:</span><span id="span1"></span><br />
    <input type="button" value="获取父窗口内的文本框值" onclick="getpValue();">
    </body>
    </html>

    下面来举几个常用的例子:
    parent.window与top.window一般在分割的页面即 frameset或iframe中使用
    注销整个框架后返回到login.aspx:parent.window.location='Login.aspx'或者
    top.window.location='Login.aspx'
    window.parent也是常在框架中使用,
    刷新:window.parent.location.reload();或者刷新某个框架:window.parent.MainForm.location.reload();
    获得其他框架的元素值:window.parent.MainForm.form1.text1.value;
    window.opener主要是获得通过超链接或者 window.open() 打开本身页面的页面的一些,比如获得值,刷新等
    刷新:window.opener.location.reload();
    获值:window.opener.document.getElement("txtName").value;
    后退:top.playFrame.history.go(-1);
    前进: top.playFrame.history.go(1);
    刷新: top.playFrame.location.reload();
    就总结到这里,这些对象很实用 您可能感兴趣的文章:
    window.open参数详解附实例
    window.open关于浏览器拦截问题分析及解决方法
    window.open的页面如何刷新(父页面)上层页面
    window.open以post方式将内容提交到新窗口
    window.open不被拦截的实现代码
    javascript window.opener的用法分析
    javascript 打开页面window.location和window.open的区别
    javascript弹出窗口 window.open使用方法以及参数说明分析篇
    javascript showModalDialog传值与FireFox的window.open 父子窗口传值示例
    JS window.opener返回父页面的应用
    js中的window.open返回object的错误的解决方法
    window.open被浏览器拦截后的自定义提示效果代码
    window.open()弹出居中的窗口
    window.open的功能全解析
    解析window.open的使用方法总结

    详细出处参考:http://www.jb51.net/article/30086.htm

  • 相关阅读:
    C#WinForm应用程序中嵌入ECharts图表
    C#自定义按钮、自定义WinForm无边框窗体、自定义MessageBox窗体
    C#自定义无边框MessageBox窗体
    C#自定义Winform无边框窗体
    C#自定义Button按钮控件
    C# 对象与JSON字符串互相转换的三种方式
    Spring.NET依赖注入框架学习--实例化容器常用方法
    Spring.NET依赖注入框架学习--简单对象注入
    Spring.NET依赖注入框架学习--简介
    Spring.NET依赖注入框架学习--入门
  • 原文地址:https://www.cnblogs.com/markli/p/3578499.html
Copyright © 2011-2022 走看看