zoukankan      html  css  js  c++  java
  • Js中的window.parent ,window.top,window.self 详解

    在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口。

    window.self

    功能:是对当前窗口自身的引用。它和window属性是等价的。

    语法:window.self

    注:window、self、window.self是等价的。

    window.top

    功能:返回顶层窗口,即浏览器窗口。

    语法:window.top

    注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。

    window.parent

    功能:返回父窗口。

    语法:window.parent

    注:如果窗口本身是顶层窗口,parent属性返回的是对自身的引用。

    在框架网页中,一般父窗口就是顶层窗口,但如果框架中还有框架,父窗口和顶层窗口就不一定相同了。

    判断当前窗口是否在一个框架中:

    <script type="text/javascript">
        var b = window.parent==window.self;
        document.write( "当前窗口是否是底层窗口:"+b );
    </script>
    

    你应当将框架视为窗口中的不同区域,框架是浏览器窗口中特定的部分。一个浏览器窗口可以根据你的需要分成任意多的框架,一个单个的框架也可以分成其它多个框架,即所谓的嵌套框架。

    parent与opener的区别:
    parent指父窗口,在frameset中,frame的parent就是frameset窗口。
    opener指用window.open方式创建的新窗口对应的原窗口。
    parent是相对于框架来说父窗口对象。
    opener是针对于用window.open打开的窗口来说的父窗口,前提是window.open打开的才有。
    附:Window对象、Parent对象、Frame对象、Document对象和Form对象的阶层关系。
    Window对象→Parent对象→Frame对象→Document对象→Form对象。
    如下: parent.frame.document.forms[0].elements[0].value。

  • 相关阅读:
    fastText源码分析
    excel文件使用html导出
    oracle中对字符串进行分割,并反回随机段
    oracle锁表进行关闭
    .net中MVC Webapi多参数调用控制器方法
    C#线程调用带参数的方法,给控件赋值
    C#post调用接口并上传文件
    C#调用GPG命令进行加密解密文件操作
    C#中图片转换为Base64编码,Base64编码转换为图片
    GPG加密windows中使用
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/5809713.html
Copyright © 2011-2022 走看看