Web前端-BOM之Window对象(一)

因篇幅问题window对象方法以及window对象描述详见Window对象(二)

一、Window 对象简介

Window 对象表示浏览器中打开的窗口。详细文档请见:w3school之Window对象
如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。

二、Window 对象集合

frames返回窗口中所有命名的框架。我们可以用frames获取当前页面的所有window对象
例如:

<body>
<div>222</div>
<iframe src="../public/test1.html" frameborder="0"></iframe>
<iframe src="../public/test1.html" frameborder="0"></iframe>
<iframe src="../public/test1.html" frameborder="0"></iframe>
<script>
  console.log(frames);
</script>
</body>

在这里插入图片描述
外层window是当前页面生成的window,其中0、1、2分报指向三个iframe标签生成的window对象。

三、Window 对象属性

window对象大概有20多个属性,在这里就简要介绍一些常用属性

1.closed

(1)属性介绍:

closed 属性可返回一个布尔值,该值声明了窗口是否已经关闭。该属性为只读。
当浏览器窗口关闭时,表示该窗口的 Windows 对象并不会消失,它将继续存在,不过它的 closed 属性将设置为 true。

(2)具体演示:

<body>
<input type="button" value="Has 'myWindow' been closed?"
       onclick="checkWin()">
<script>
  function checkWin() {
    if (myWindow.closed) {
      console.log('窗口被关闭')
    } else {
      console.log('窗口未被关闭')
    }
  }
  myWindow=window.open('','','width=400,height=100')// 新开一个窗口用于测试关闭
  myWindow.document.write("This is 'myWindow'")// 为新开窗口写入一些内容
</script>

未关闭时:
在这里插入图片描述
关闭时:
在这里插入图片描述

2.defaultStatus

(1)属性介绍:

defaultStatus 属性可设置或返回窗口状态栏中的默认文本。该属性可读可写。
该文本会在页面加载时被显示。了解即可,并不实用。

(2)具体演示:

ie浏览器下:

<body>
<script type="text/javascript">
  window.defaultStatus="This is the default text in the status bar!!";
</script>
<p>Look at the text in the statusbar.</p>
</body>

在这里插入图片描述

3.document对象

(1)属性介绍:

对 Document 对象的只读引用。即DOM的document对象,这里不做详细解释,后续会在DOM中详解此部分内容。

(2)具体演示:

4.history对象

(1)属性介绍:

对 History 对象的只读引用。这里不做详细解释,后续会在BOM的history对象中详解此部分内容。

(2)具体演示:

5.innerheight、innerwidth

(1)属性介绍:

返回窗口的文档显示区的高度。只读属性,声明了窗口的文档显示区的高度和宽度,以像素计。

这里的宽度和高度不包括菜单栏、工具栏以及滚动条等的高度。可以将其理解为浏览器窗口宽高
注意:IE 不支持这些属性。它用 document.documentElement 或 document.body (与 IE 的版本相关)的 clientWidth 和 clientHeight 属性作为替代。

(2)具体演示:

<body>
<script>
  console.log(window.innerHeight);
  console.log(window.innerWidth);
</script>
</body>

在这里插入图片描述

在这里插入图片描述

6.location对象

(1)属性介绍:

用于窗口或框架的 Location 对象。这里不做详细解释,后续会在BOM的location对象中详解此部分内容。

(2)具体演示:

7.name

(1)属性介绍:

name 属性可设置或返回存放窗口的名称的一个字符串。

该名称是在 open() 方法创建窗口时指定的或者使用一个 标记的 name 属性指定的。

窗口的名称可以用作一个 或者 标记的 target 属性的值。以这种方式使用 target 属性声明了超链接文档或表单提交结果应该显示于指定的窗口或框架中。

(2)具体演示:

<body>
<script>
  console.log('name:' + window.name);
  window.name = 'window'
  console.log('name:' + window.name);
</script>
</body>

在这里插入图片描述

8.Navigator对象

(1)属性介绍:

对 Navigator对象的只读引用。这里不做详细解释,后续会在BOM的Navigator对象中详解此部分内容。

(2)具体演示:

9.opener

(1)属性介绍:

opener 属性是一个可读可写的属性,可返回对创建该窗口的 Window 对象的引用。
opener 属性非常有用,创建的窗口可以引用创建它的窗口所定义的属性和函数。即在子窗口中获取到父窗口所定义的属性和函数。

(2)具体演示:

<body>
<script>
  myWindow=window.open('','MyName','width=200,height=100')
  myWindow.document.write("这是'myWindow'")
  myWindow.focus()
  myWindow.opener.document.write("这是父 window")//用子window对象修改父window属性
  console.log(myWindow.opener);
  console.log(window);
  console.log(window === myWindow.opener); // myWindow.opener指向window
</script>
</body>

在这里插入图片描述

10.parent

(1)属性介绍:

返回当前窗口的父窗口。如果自身没有父窗口则指向自身。
与opener的区别:
opener是打开它的窗口,parent是父窗口。

(2)具体演示:

<body>
<div>222</div>
<iframe src="../../public/test1.html" frameborder="0"></iframe>
<script>
  console.log('父窗口');
  console.log(window.parent);
</script>
</body>

test1.html:

<body>
<div>111</div>
<script>
  console.log('子窗口');
  console.log(window);
  console.log(window.parent);
</script>
</body>

在这里插入图片描述

11.Screen对象

(1)属性介绍:

对 Screen 对象的只读引用。这里不做详细解释,后续会在BOM的Navigator对象中详解此部分内容。

(2)具体演示:

12.self

(1)属性介绍:

self 属性可返回对窗口自身的只读引用。等价于 Window 属性。

(2)具体演示:

<body>
<script>
  console.log(window.self);
  console.log(window);
  console.log(window === window.self);
</script>
</body>

在这里插入图片描述

13.top

(1)属性介绍:

返回最顶层的先辈窗口。没有顶层窗口时指向自身。

(2)具体演示:

<body>
<div>222</div>
<iframe src="../../public/test1.html" frameborder="0"></iframe>
<script>
  console.log(window);
  console.log(window.top);
</script>
</body>

test1.html:

<body>
<div>111</div>
<script>
  console.log(window);
  console.log(window.top);
</script>
</body>

在这里插入图片描述

14.screenLeft、screenTop、screenX、screenY

(1)属性介绍:

只读整数。声明了窗口的左上角在电脑屏幕上的的 x 坐标和 y 坐标。以电脑屏幕左上角为原点,向右为x轴正方向,向下为y轴正方向。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。

(2)具体演示:

<body>
<script>
  console.log(window.screenLeft);
  console.log(window.screenTop);
</script>
</body>

全屏时:
在这里插入图片描述
移动后:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值