浏览器对象(BOM,Browser Object Model),提供了与网页无关的浏览器功能对象。BOM可以使我们通过JS来操作浏览器在BOM中为我们提供了一组对象,用来完成对浏览器的操作。
window对象
所有浏览器都支持 window 对象。它代表浏览器的窗口。
所有全局 JavaScript 对象,函数和变量自动成为 window 对象的成员。
全局变量是 window 对象的属性。
全局函数是 window 对象的方法。
甚至(HTML DOM 的)document 对象也是 window 对象属性:
window.document.getElementById("header");
等同于:
document.getElementById("header");
location对象
location对象提供了当前窗口中加载的文档信息,以及通常的导航功能。同时也保存着把URL解析为离散片段后能通过属性访问的信息。
可以通过修改location对象修改浏览器的地址:
location.assign("http://www.baidu.com");
replace:location对象中有个replace()方法,通过该方法可以实现页面跳转但不会增加历史记录,也就是说调用replace()方法后,用户不能回到前一页。
reload:reload()能重新加载当前显示的页面。
location.reload();//重新加载,可能是从缓存加载
location.reload(true);//重新加载,从服务器加载
navigator对象
navigator对象代表当前浏览器的信息,通过该对象可以识别不同浏览器。 一般我们只会使用userAgent来判断浏览器信息userAgent是一个字符串,这个字符串中包含用来描述浏览器信息的内容,不同的浏览器有不userAgent。
if (/Chrome/i.test(navigator.userAgent)) {
alert("chrom")
}//判断当前浏览器是不是Chrome
但是userAgent不能识别IE11.所以基本不能使用userAgent来识别IE了。可以通过一些浏览器中的特有对象来判断IE浏览器信息。
history对象
代表浏览器的历史记录,可以通过该对象来操作浏览器的历史信息,不能获取具体的历史记录,只能操作浏览器向前或者向后翻页,且只能在当次访问时有效。
go():该方法可以在用户历史记录中沿任何方向导航,可以前进也可以后退。只接收一个参数,可以是整数,正整数代表向前多少步,负数表示向后多少步。也可以传字符串。
history.go(-1)//后退一页
history.go(1)//前进一页
history.go(2)//后退两页
historygo("baidu.com")//导航到历史记录中最近的百度页面
go()方法有两个简写方法:back()和forward()。