浏览器对象模型BOM:窗口操作与属性详解

需积分: 0 1 下载量 112 浏览量 更新于2024-08-17 收藏 333KB PPT 举报
浏览器对象模型(BOM,Browser Object Model)是JavaScript与浏览器交互的一种方式,它允许脚本操作浏览器窗口、页面元素以及与浏览器相关的属性和方法。由于BOM是JavaScript的一部分,但并没有统一的标准,不同浏览器厂商可能会有不同的实现,这可能导致在不同浏览器上的行为差异。 **BOM的主要组成部分包括:** 1. **Window对象**:每个浏览器窗口都有一个对应的Window对象,它是BOM的核心,代表整个浏览器窗口。Window对象提供了许多功能,如操作窗口的位置和大小、导航、打开新窗口、显示系统对话框、处理时间间隔和暂停、管理历史记录等。 - **移动和调整窗口**:`moveBy()` 和 `moveTo()` 方法用于移动窗口,`resizeBy()` 和 `resizeTo()` 方法用于调整窗口的尺寸。例如,`window.moveBy(100, 50)` 将窗口向右移动100像素,向下移动50像素;`window.resizeTo(800, 600)` 将窗口大小设置为800像素宽、600像素高。 - **获取窗口位置和大小**:在Internet Explorer中,可以使用`screenLeft`和`screenTop`属性获取窗口距离屏幕的位置,而`document.body.offsetWidth`和`document.body.offsetHeight`分别表示客户区(不包含滚动条)的宽度和高度。在Mozilla Firefox中,相应的属性是`screenX`、`screenY`、`innerWidth`、`innerHeight`、`outerWidth`和`outerHeight`。 2. **Document对象**:表示文档内容,提供了访问和操作HTML元素的方法和属性,如`getElementById()`、`getElementsByTagName()`等。 3. **Location对象**:代表当前页面的URL,可以用来获取或改变页面的URL。例如,`window.location.href`返回当前页面的URL,`window.location.assign("newUrl")`可以加载新的URL。 4. **Navigator对象**:包含了关于用户浏览器的信息,如浏览器名称、版本、平台等。 5. **Screen对象**:提供了关于用户屏幕的信息,如屏幕分辨率、颜色深度等。 6. **其他对象**:如Frames(框架集)、History(历史记录)、Forms(表单)、Images(图像)、Links(链接)等,它们提供了对相应元素的访问和操作。 **事件模型**:在BOM中,事件模型允许JavaScript响应用户的交互。事件流包括捕获阶段、目标阶段和冒泡阶段。事件处理程序可以添加到元素上,用于处理特定事件,比如点击、鼠标移动等。事件处理程序的返回值可以控制事件的默认行为是否执行。Event对象提供了事件相关的信息,如事件类型、目标等。 **操作窗口打开链接**:`window.open()`方法用于在新窗口或新标签页中打开一个页面。例如,`window.open('http://example.com', 'newTab', 'width=800,height=600')`会打开一个新的窗口或标签页,加载`http://example.com`,窗口大小设定为800x600像素。子窗口可以通过`top.opener`属性访问其父窗口,实现父子窗口之间的通信。 BOM为JavaScript提供了强大的能力,使其能够与浏览器环境深度交互,实现丰富的动态网页效果和功能。