一,概念
BOM:browser object model 浏览器对象模型;与dom(document o
bject model)相对应;在DOM中是使用js(JavaScript)对文档流或者说html元素(也可以说是DOM节点)进行操作(包括对元素的增删改查),而BOM则是使用js对浏览器进行相应的操作。
核心:window(window是document的父元素)
特点:没有一套正式的官方标准且兼容性很差,原因是BOM是对浏览器进行操作,而各家的浏览器所拥有的特性又不相同。
二,BOM与DOM的关系
1、BOM 的 window 包含了 document,因此通过 window 对象的 document 属性就可以访问、
检索、修改文档内容与结构。
2、document 对象又是 DOM 模型的根节点
三,BOM组成
- window js的顶层对象,表示浏览器的窗口
- navigator 包含客户端浏览器的信息
- history 记录当前窗口访问过的URL,是一个类数组
- location 显示当前页面的URL信息(通常来说就是浏览器地址栏的信息,包括不限于协议,域名,锚点等)
- screen 包含显示屏的信息(使用频率非常低)
三(1),window
对于bom来说window是一个属性(对于BOM的其他组成元素这句话同样适用),但是对于window本身来说他是一个对象,window对象表示一个浏览器的窗口或者一个框架,在js中window对象是全局对象,在对当前窗口的属性进行操作是可以省略window,例如可以直接写document.sth,而不用写window.document.sth。
1),常用对象的属性和方法
属性 | 描述 |
innerHeight | 返回窗口的文档(即只包括html部分)的高度,返回值为数字类型,默认单位为px(包括滚动条的宽高,而document.documentElement.clientWidth获取的宽高不包括滚动条的宽高) |
innerWidth | 返回窗口的文档(即只包括html部分)的宽度,返回值为数字类型,默认单位为px(包括滚动条的宽高,而document.documentElement.clientWidth获取的宽高不包括滚动条的宽高) |
pageXOffset | 返回当前窗口的左上顶点X坐标与页面的左上顶点的X坐标 |
pageYOffset | 返回当前窗口的左上顶点Y坐标与页面的左上顶点的Y坐标 |
方法 | 描述 |
clearInterval() | 清除setInterval()设置的timeout,一般用来让某一个定时器停止 |
setInterval() | 按照指定的周期来调用函数(毫秒级别) |
setTimeou() | 在指定的毫秒数后执行或者调用函数 |
alert() | 显示带有一段消息和一个确认按钮的警告框 |
open() | 打开一个新的浏览器窗口或查找一个已命名的窗口。window.open(URL,name,features(特征值,可以设置新开窗口的宽高等属性),replace) |
prompt() | 显示可提示用户输入的对话框。 |
scrollBy() | 根据传的参数进行滚动条的滚动,可以累加,可以实现自动阅读的功能 |
scrollTo() | 滚动到指定的坐标 |
三(2),Navigator 对象
Navigator对象包含的属性描述了正在使用的浏览器。
常用属性:
属性 | 描述 |
cookieEnabled | 返回一个布尔值,指明浏览器是否启用了cookie |
onLine | 返回一个布尔值,指明是否联网 |
userAgent | 返回由客户机发送服务器的 user-agent 头部的值。 |
三(3)History 对象
History对象包含了该窗口访问过的URL
常用属性和方法
方法中传的参数范围为(0,History.length)。
属性 | 描述 |
length | 记录访问过的URL的数量 |
方法 | 描述 |
back() | 返回上一个页面 |
forward() | 前往该页面的下一个页面 |
go() | 跳转访问过的某一个页面 |