A、浏览器对象模型以window对象为依托,表示浏览器窗口以及页面可见区域,同时window对象还是ECMAScript中的Global对象,因此所有全局变量和函数都是它的属性,而且所有原生的构造函数及其他函数也都存在于它的命名空间下,BOM的组成部分:
1、在使用框架的时候,每个框架都有自己的windows对象以及所有原生构造函数及其他函数副本,每个框架都保存在frames集合中,可以通过位置或通过名称来访问
2、有一些窗口指针,可以用来引用其他框架,包括父框架
3、top对象始终指向最外围的框架,也是是整个浏览器窗口
4、parentt对象表示包含当当前框架的框架,而self对象则回指windows
5、使用location对象可以通过编程方式来访问浏览器的导航系统,设置相应的属性,可以逐段或整体性地修改浏览器的URL
6、调用replace()方法可以导航到一个新URL,同时该URL会替换浏览器历史记录中当前显示的页面
7、navigator对象提供了与浏览器有关的信息,到底提供了那些信息,很大程度上取决于用户的浏览器;不过,也有一些公共的属性(userAgent)存在于所有浏览器中
BOM中还有两个对象:screen和history,但是他们的功能有限,screen对象中保存着与客户端显示器有关的信息,这些信息一般只用于站点分析,history对象为访问浏览器的历史记录开了一个小缝隙,开发人员可以据此判断历史记录的数量,也可以在历史记录中向后或向前导航到任意页面