Javascript 浏览器对象模型BOM,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM有多个对象组成。其中逮捕浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的字对象;
作用有:1.弹出新的浏览器窗口、移动、关闭浏览器窗口及调整窗口大小;2.提供Web浏览器详细信息的导航对象;3.提供装载到浏览器中页面的详细信息的定位对象;4.提供用户屏幕分辨率详细信息的屏幕对象;。对cookie的支持;
在javascript中对象之间并不是独立存在的,对象与对象之间有着层次关系。如Document对象是window对象的子对象,Window对象是Document对象的父对象等。观察BOM的体系结构,所有的对象都源自window对象,它表示整个浏览器窗口。
Document对象:该对象代表浏览器窗口中所加载的文档。使用Document对象可以操作文档中的内容。在整个BOM中,只有Document对象是与HTML文档的内容相关的。
Frames数组:该数组代表浏览器窗口中的框架。HTML中允许将一个浏览器窗口分为多个框架,每个框架中可以加载一个HTML文档。在这种框架页中,每一个框架都是Frames数组中的一个元素。而Frames数组中的每一个元素都是一个Window对象。
History对象:该对象代表当前浏览器窗口的浏览历史。通过该对象可以将当前浏览器窗口中的文档前进或后退到某一个已经访问过的URL(统一资源定位符)。
Location对象:该对象代表当前文档的URL。URL分为几个部分,如协议部分、主机部分、端口部分等。使用Location对象可以分别获得这些部分,并且可以通过修改这些部分的值来加载一个新文档。
Navigator对象:该对象是浏览器对象,代表了浏览器的信息。该对象与Window对象不同,Window对象可以用于控制浏览器窗口的一些属性,如浏览器窗口大小、位置等。而Navigator对象包含的是浏览器的信息,如浏览器的名称、版本号等。
Screen对象:该对象代表当前显示器的信息。使用Screen对象可以获得用户显示器的分辨率、可用颜色数量等信息。
Document对象代表HTML文档,而HTML文档中包括了有很多元素,BOM也将这些元素看成了不同的对象。
这里说下location对象的属性:
- href
- hash返回url中#后面的内容,包括#
- host主机名,包括端口
- hostname主机名
- search 查询字符串
- protocol 协议一般是http,https
- pathname url中路径部分
其他对象就部多说了。。。。