BOM(浏览器对象模型)提供很多对象,用于访问浏览器的功能。
window对象
BOM的核心对象是window对象,它表示浏览器的一个实例。它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。
很多全局JavaScript对象(如location和navigator)实际上都是window对象的属性。
全局作用域
在全局作用域中定义的变量和函数会被自动归在window对象名下
var age=22;
console.log(age)
console.log(window.age)
console.log(this.age)
全局变量不能通过delete操作符删除,但是直接在window对象上的定义的属性可以。
var age=22;
window.name="fan";
delete window.age;
delete window.name;
console.log(window.age)
console.log(window.name)
window.open()
既可以导航到一个特定的URL,也可以打开一个新的浏览器窗口。
接收4个参数:要加载的URL、窗口目标、一个特性字符串、一个的是否取代浏览器历史记录中当前加载页面的布尔值。
通常只需传递第一个参数,最后一个参数只在不打开新窗口的情况下使用。
如果第二个参数并不是一个已经存在的窗口或框架,会在第三个参数位置上传入一个新窗口或新标签页,如果没有传入第三个参数,就会打开一个带有全部默认设置的新浏览窗口
setTimeout
间歇调用
接收两个参数:要执行的代码和以毫秒表示的时间
clearTimeout():取消间歇调用
setInterval()
超时调用
接收两个参数:要执行的代码和以毫秒表示的时间
clearInterval():取消超时调用
location对象
最有用的BOM对象之一,提供了与当前窗口加载的文档有关的信息,还提供一些导航功能。它既是window对象的属性,也是document对象的属性。
属性名 | 说明 |
---|---|
hash | 返回URL中的hash(#后跟零或多个字符)(除了修改hash外,页面都会以URL重新加载) |
host | 返回服务器名称和端口号 |
hostname | 返回不带端口号的服务器名称 |
href | 返回当前加载页面的完整URL |
pathname | 返回URL的目录和文件名 |
port | 返回URL指定的端口号 |
位置操作
assign():改变浏览器的位置,例如location.assign("https://github.com/faimi");
。这样就会立即打开新URL并在浏览器的历史记录中新增一条记录。该代码和window.location="https://github.com/faimi";
和location.href="https://github.com/faimi";
效果一样。
replace():禁止用户通过单击“后退”按钮导航到前一个页面。只接收一个参数即要导航到的URL
reload():创新加载当前页面
navigator对象
检测显示网页的浏览器类型
plugins
检测浏览器中是否安装了特定的插件
包括以下属性:
name:插件名字
description:插件描述
filename:插件文件名
length:插件所处理的MIME类型数量
registerContentHandle()
让一个站点指名它可以处理特定类型的信息
接收三个参数:
要处理的MIME类型
可以处理该MIME类型的页面的URL
应用程序的名称
screen对象
表明客户端能力,用处不大
history对象
保存用户上网的历史记录
go()方法可以在用户的历史记录中任意跳转
//前进1页
history.go(1)
//后退一页
history.go(-1)