牛骨文教育服务平台(让学习变的简单)

BOM:BrowserObjectModel,浏览器对象模型,提供JS中对浏览器的各种操作的对象,是JS应用中唯一没有相关标准的部分,这事BOM经常出现问题的所在,主要用于处理浏览器窗口与框架,浏览器特有的JS扩展也被默认为BOM的一部分,而各浏览器之间的公有对象就成了默认的标准。本篇文章将主要介绍window对象。

属性

世界上本没有模型,用的多了也就成了模型。模型便是一个可供参考的东西,BOM中的一系列通用的对象便构成了这个模型,其结构可展示为:

window的六大属性,同时它们也是对象:

document主要操作web加载的网页文档;

frames为窗口框架对象数组;

history保存用户上网记录;

location提供加载的文档有关信息以及控制页面跳转;

navigator对象存储浏览器名称及版本信息;

screen显示屏幕相关信息。

其中document对象属性下也有几个重要的属性对象,以document为核心的对文档进行操作的各个对象组成的结构便是大家所熟悉的DOM,从这一点看来,DOM其实是BOM的一个子集.

window对象除了提供了旗下的六大对象属性外,还拥有设置浏览器信息的一些基本属性,主要如下

我们经常需要过去浏览器的位置及大小信息,由于BOM没有统一的标准,针对不同浏览器会有不同的属性进行实现,这时候我们就需要做些跨浏览器的兼容性操作,使得针对不同浏览器都能够获取对象的数据。

通过使用typeof属性来判断浏览器是否支持对应的属性,进而采用不同的措施便是很好的兼容性操作的方法,以后可针对具体情况进行应用。

方法

window对象提供的几个主要方法如下图:

图中对方法进行了简单的分类,每个方法再往下分便是参数了,返回值依各自的情况不同而不同。见名知意,方法名也不例外,看到了这些方法的名称,其实际作用估计也已猜到了一半,在此便不再详细说明。

window对象也提供了另外的一些方法:focus()/blur()、对应open()的close()方法、scroll()滚动至指定像素点位置、print()/find()分别调出打印对话框以及查找对话框。

总结

BOM,实际上是一组对象的集合,而window是这组对象的核心,了解了它,对整个浏览器对象模型也就有了结构以及作用上的认识。