zoukankan      html  css  js  c++  java
  • 窗口、窗体之间的关系

    窗口、窗体之间的关系:
          通过window.open()创建的新窗口的Window对象具有opener属性,可以通过opener打开它的原始窗口,这样两个窗口之间就可以相互引用,彼此之间可以读取对方的属性方法,而窗体也是一样。
            窗体是由<iframe>创建的,该元素有contentWindow属性,它引用自身的Window对象,而Window对象有frameElement属性,若该Window对象表示一个窗体,则frameElement是对<Iframe>元素的引用,如:对于元素<iframe id = 'f1'>,
            var elt = document.getElementById('f1');
            var win = elt.contentWindow;
            win.frameElement === elt; //true
            window.frameElement === elt; //false 对于顶级窗口来说永远是false
            每个Window对象都有一个frames属性,包括窗体和子窗体。frames属性引用了它所包含的窗体和子窗体的Window对象,frames是由这些Window对象组成的类数组对象,可通过数字或窗体名来进行索引,如引用第一个子窗体frames[0],引用第二个子窗体的第三个子窗体frames[1].frames[2],引用兄弟窗体parent.frames[1]。
            内置对象在不同的窗口、窗体之间是相互独立的,它们有自己的一份独立的构造函数和原型对象的副本,它会在所有窗口窗体内自动预定义;而自定义对象则不同,可以在能够相互通信的窗口、窗体之间共享这个对象的构造函数和它的原型;如窗口中定义了Set类,有子窗体A和B,则:
            在父窗口中 :
                    var s = new Set(); String.toString = function(){return '内置对象';} (修改String的toString方法)
                    s.a === 1; //true
            在A中 :
                    var sa = new parent.Set(); parent.Set.prototype.a =1; (给自定义类Set的原型添加属性a,则所有能相互通信的窗口共享a)
                    var str = '测试';  str.toString; //测试  (调用的是窗体A自身的String对象的toString方法)
            在B中 :
                    var Set = top.Set(); var sb = new Set(); sb.a === 1;  //true
     
    要引用窗口中的一个窗体,可以使用如下语法:
    frames[i] //当前窗口的框架
    self.frames[i] //当前窗口的框架
    w.frames[i] //窗口 w 的框架
    要引用一个框架的父窗口(或父框架),可以使用下面的语法:
    parent //当前窗口的父窗口
    self.parent //当前窗口的父窗口
    w.parent //窗口 w 的父窗口
    要从顶层窗口含有的任何一个框架中引用它,可以使用如下语法:
    top //当前框架的顶层窗口
    self.top //当前框架的顶层窗口
    f.top //框架 f 的顶层窗口
  • 相关阅读:
    PowerDesigner建立与数据库的连接,以便生成数据库和从数据库生成到PD中。[Oracle 10G版]
    如何进行数据库,比如ORACLE,SQL SERVER的逆向工程,将数据库导入到PowerDesigner中
    PowerDesigner PDM 生成SQL脚本 去除双引号方法
    PowerDesigner删除外键关系,而不删除外键列[转] 及编码格式
    powerdesigner导出sql
    SQLSERVER存储过程基本语法
    jQuery选择器大全(48个代码片段+21幅图演示)
    fiddler使用
    基于.NET平台常用的框架技术整理
    Windows 按键
  • 原文地址:https://www.cnblogs.com/susufufu/p/5714020.html
Copyright © 2011-2022 走看看