1.浏览器对象模型BOM以window对象为依托,表示浏览器窗口以及页面可见区域。同时,window对象还是ECMAScript中的Global对象。因而所有全局变量和函数都是它的属性,且所有原生的构造函数及其他函数也都存在它的命名空间下。
2.top对象始终指向最外围的框架,即整个浏览器窗口;
parent对象表示包含当前框架的框架;
self对象则回指window;
所有以上对象都是window对象的属性;
3.窗口位置:moveTo(),moveBy();
窗口大小:resizeTo(), resizeBy();
4.浏览器窗口尺寸:
window.innerHeight(innderWidth);
document.documentElent.clientHeight(clientWidth);
doucument.body.clientHeight(clientWidth);
5.窗口打开和关闭:window.open(),window.close();
6.间歇性调用和超时调用:setInterval(),setTimeout();
7.系统对话框:alert(),confirm(),prompt();
8.location对象提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能,既是window对象属性,也是document对象属性,使用时可以不包括window前缀:
location.hostname:返回web主机的域名
location.pathname:返回当前页面的路径和文件名
location.port:返回web主机的端口
location.protocol:返回所使用的web协议
location.href:返回当前页面的URL
location.assign:加载新的文档;
9.window.navigator对象包含有关访问者浏览器的信息,使用时可以不包括window前缀。来自navigator对象的信息具有误导性,不应该被用来检测浏览器的版本。
10.调用replace方法可以导航到一个新的URL,同时该URL会替换历史记录中当前显示的页面;
11.screen对象保存着与客户端显示器有关的信息;history对象为访问浏览器的历史记录开了一个小缝隙,开发人员可以根据它判断历史记录数量,也可以在历史记录中向前或者向后导航到任意页面;
12.客户端检测
能力检测:在编写代码之前先检测浏览器的能力;
怪癖检测:确定浏览器是否存在某个怪癖;
用户代理检测:通过检测用户代理字符串来识别浏览器;
一般按以上顺序使用。