浏览器对象模型
浏览器对象模型,它是浏览器提供给javascript操作浏览器的接口,与内建对象Math一样,是不需要自己创建对象,浏览器已帮我们创建好;
BOM是一个具有层次结构的对象树,首先来看下顶级对象window对象,它表示浏览器框架和跟浏览器相关的所有一切,如滚动条、导航按钮等都包括在window中: window对象是一个全局对象,可以在能写javascript代码的任何地方使用其属性和方法而不需要使用全局对象的名称,声明一个全局变量或全局函数时,实际上就是声明了全局对象的一个属性;
window对象的属性,即其下一级对象:
A、document对象——代表浏览器中的web页面; BOM中最重要的对象,几个重要的数组属性:
1、forms
2、images——表示页面上的所有元素数组,可以通过使用document.images[1]或document.images['myImage']两种方式访问;images为Image对象数组,所以具有内建对象Array的所有用法;
3、links——页面中所有超链接(a)对象的对象数组,同images
B、history对象——用户访问过的页面的历史信息; 属性:length——浏览器中历史栈中的页面个数;
方法:
1、back()、forward() ——浏览器当前所加载的当前页面的location将改变为历史栈中的前一页或后一页;
2、go(arg)——参数表示以当前页为基准,在历史栈中前进或后退几个页面;
例:history.go(1) 前进,同(history.forward()) history.go(-1) 后退,同(history.back())
C、navigator对象——浏览器自身的相关信息;
D、screen对象——客户端显示器显示能力的信息; 属性:height、width——客户端计算机显示屏的高度和宽度; colorDepth——客户计算机显示屏颜色的色彩位数;
E、location对象——浏览器加载当前页面的URL的详细信息,具体包含统一资源定位器信息(URL)、提供web服务的服务器信息、连接到服务器的端口号以及所使用的协议,对应方法如下:
1、location.href——获得或设置url地址,同location.replace(),区别,replace()将从浏览器中的历史栈中移除当前页面,并用新页面替换,而href属性仅仅把新页面添加到历史栈的顶部,造成的后果是,使用replace()后将不可使用后退按钮;
2、location.port——当前URL端口号
3、location.hostname——当前URL主机名
4、location.protocol——当前URL协议
二、Bom对象的常用事件 onload、onclick、onunload(用户关闭浏览器或打开其他页面)
添加事件的方式:
1、将事件处理器同事件处理函数作为html标签的属性;
2、将事件处理器作为浏览器对象的属性;