文章目录
一、BOM浏览器对象模型(Browser Object Model)
window对象
在浏览器中任何时候都绕不开一个对象,就是window对象。
window对象表示的是当前的浏览器窗口,所以它也是当前页面的定义对象。在当前页面中出现的所有对象都是它下属,该对象附带的作用域就是全局作用域,我们平时定义的全局变量其实就是定义在window对象身上的属性。
window对象的方法
window对象的方法通常都是直接调用,并不需要使用:window.funcName()调用。
下面是一些常见的方法:
alert()
prompt()
confirm()
open():打开具有指定名称的新窗口,并加载给定 URL 所指定的文档
close():关闭当前窗口,ff不兼容
navigator/location/history/screen对象
navigator
navigator对象是一个保存了浏览器信息相关的对象,其中我们使用较多的属性为:userAgent。
navigator.userAgent;// 返回浏览器的相关信息,字符串
location
location对象是浏览器提供的原生对象,提供 URL 相关的信息和操作方法。通过window.location和document.location属性,可以拿到这个对象。 location对象对应的就是浏览器中的地址栏,所以操作location对象就是在操作浏览器的地址栏。
对于location对象我们只需要掌握几个常见的操作即可:
// 获取当前页面的地址
location.href;
// 跳转链接
location.href="URL";
// 刷新页面
location.reload();
history
window.history属性指向 History 对象,它表示当前窗口的浏览历史。
history对象对应的就是浏览器左上角的前进/后退按钮,也就是说我们操作history对象的时候就是在操作浏览器的前进/后退按钮。
// 相当于后退按钮
history.back( );
// 相当于前进按钮
history.forward( );
// 代表前进1页,等价于forward( )方法;
history.go(1);
// 代表后退1页,等价于back( )方法
history.go(-1);
screen
Screen 对象表示当前窗口所在的屏幕,提供显示设备的信息。window.screen属性指向这个对象。
screen对象在页面特效的地位是非常高的,非常多的页面特效都需要screen对象来完成。 screen对象的属性:
- Screen.height:浏览器窗口所在的屏幕的高度(单位像素)。除非调整显示器的分辨率,否则这个值可以看作常量,不会发生变化。显示器的分辨率与浏览器设置无关,缩放网页并不会改变分辨率。
- Screen.width:浏览器窗口所在的屏幕的宽度(单位像素)。
- Screen.availHeight:浏览器窗口可用的屏幕高度(单位像素)。因为部分空间可能不可用,比如系统的任务栏或者 Mac
系统屏幕底部的 Dock 区,这个属性等于height减去那些被系统组件的高度。 - Screen.availWidth:浏览器窗口可用的屏幕宽度(单位像素)。
定时器
在window对象下提供了两个函数用于制作网页定时器。
定时器:定时触发,定时调用。
setInterval(fn,time): 周期性的循环调用执行,类似于闹钟
setTimeout(fn,time): 定时调用一次,类似于定时炸弹
clearInterval(timer): 清理定时器
clearTimeout(timer): 清理定时器