scvmm 发表于 2019-1-27 15:54:49

window.top、window.parent、window.open、window.opener

  

地址:http://blog.csdn.net/zdwzzu2006/article/details/6047632




在应用有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属性返回的是对自身的引用。
在框架网页中,一般父窗口就是顶层窗口,但如果框架中还有框架,父窗口和顶层窗口就不一定相同了。

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

var b = window.top!=window.self;
document.write( "当前窗口是否在一个框架中:"+b );

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

  window.open()
  

  https://developer.mozilla.org/en-US/docs/Web/API/Window/open
  

  Loads a resource into either a new browsing context (such as a window) or one that already exists, depending on the specified parameters.
http://s3.运维网.com/wyfs02/M02/86/95/wKioL1fETafgo6D-AADndhkNu-k368.png
  

  

  示例



   
    window.open()和window.opener
   
      var winName = "MyWindow";
      var wor = null; // windowObjectReference
      function btnBaiDu(){
            wor = window.open("http://www.baidu.com",winName);
      }
      function btnSina(){
            wor = window.open("http://www.sina.com",winName);
      }
      function btnClose(){
            wor.close();
      }
   


   
   
   
   
   

  演示图
http://s1.运维网.com/wyfs02/M01/86/95/wKiom1fEWK_Sh_u3AAVXktJCeM0896.gif
  

  

  

Window.opener
  https://developer.mozilla.org/en-US/docs/Web/API/Window/opener
  Returns a reference to the window that opened this current window.

http://s5.运维网.com/wyfs02/M00/86/95/wKioL1fEUQ2wcj5EAABpIi7GF1A323.png
  

  示例
  window_opener.html




   
    window.opener
   
      alert("页面加载!");
      function btnNewWindow(){
            window.open("testWindow.html","test");
      }
   


   

  testWindow.html



   
    测试窗口
   
      function btnClose(){
            window.opener.location.reload(true);
            window.close();
      }
   


   

  

  演示效果图
http://s4.运维网.com/wyfs02/M00/86/96/wKiom1fEWzXx52DKAAQbTHdxlgM098.gif
  

  

  

地址:https://developer.mozilla.org/en-US/docs/Web/API/Location/reload
Location.reload()
The Location.reload() method reloads the resource from the current URL. Its optional unique parameter is a Boolean, which, when it is true, causes the page to always be reloaded from the server. If it is false or not specified, the browser may reload the page from its cache.


http://s2.运维网.com/wyfs02/M00/86/37/wKioL1e4ervgBrumAAB0-uLZgqw361.png
  

  

  

  

  




页: [1]
查看完整版本: window.top、window.parent、window.open、window.opener