BOM的核心对象是windows,他表示浏览器的一个实例。在浏览器中,window对象具有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。
本文主要介绍4个BOM对象:
- window
- location
- navigator
- screen
- history
1. window 对象
1.1 全局作用域
由于window对象同时是ECMAScript中的Global对象,因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方法。
1.2 窗口关系及框架
如果页面包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中。
由于HTML5已经不支持 frame 标签,再此不对框架中的window对象进行深入的讨论。
1.3 窗口大小
在不同的浏览器中,没有统一的属性能获取到浏览器窗口的大小。但是可以通过一些方法获取浏览器视口的大小。
// 获取浏览器视口大小
var pageWidth = window.innerWidth;
var pageHeight = window.innerHeight;
if(typeof pageWidth != "number") {
if(d