js - BOM
一、简介
1.1 概述
BOM
-浏览器对象模型
-在BOM中为我们提供了一组对象,用来完成对浏览器的操作
1、BOM对象
1)window
-代表的是整个浏览器的窗口,同时window也是网页中的全局对象
2)Navigator
-代表当前浏览器的信息,通过该对象可以来识别不同的浏览器
3)Location
-代表当前浏览器的地址栏信息,通过Location可以获取到地址栏的信息或者浏览器跳转页面
4)History
-代表浏览器的历史记录,可以通过该对象来操作浏览器的历史记录
-由于隐私问题,该对象不能获取到具体的历史记录,只能操作浏览器前进或后退,而且该操作只在当次访问时有效
5)Screen
-代表用户的屏幕信息,通过该对象可以获取到用户显示器的相关信息
注:这些BOM对象在浏览器中都是做为window对象的属性保存的,可以通过window对象来使用,也可以直接使用
二、Navigator
2.1 概述
Navigator:代表当前浏览器的信息,通过该对象可以来识别不同的浏览器
1、由于历史原因,navigator对象中的大部分属性都已经不能帮助我们识别浏览器了
2、一般我们只会使用userAgent来判断浏览器信息,userAgent是一个字符串,
这个字符串包含有用来描述浏览器信息的内容,不同的浏览器会有不同的userAgent
注:如果通过userAgent不能判断,话可以通过一些浏览器中特有的对象来判断浏览器的信息;比如ActiveXObject,attachevent等
2.2 实例
<script>
console.log(navigator.appName);
console.log(navigator.userAgent);
</script>
三、History
3.1 概述
History:对象可以用来操作浏览器向前或向后翻页
1)forward():可以跳转到下一个页面
2)back():可以回退到上一个页面
3)go():可以跳转到指定页面,需要一个数字作为参数,例如go(1):向前跳转一个页面,相当于forward();go(-1):向后跳转一个页面,相当于back()
4)length:可以获取到当次访问链接的数量
四、Location
4.1 概述
Location:代表当前浏览器的地址栏信息,通过Location可以获取到地址栏的信息或者浏览器跳转页面
1、属性
-host:设置或返回主机名和当前url的端口号
-hostname:设置或返回当前url的主机名
-hash:设置或返回#后的内容
-href:设置或返回完整的url
-pathname:设置或返回当前url的路径部分
-port:设置或返回当前url的端口号
-search:设置或返回从问号开始的url(查询部分)
-protocol:设置或返回当前url的协议
2、方法
-assign():用来跳转到其他页面,作用和直接修改location一样
-reload():重新加载当前页面,如果在方法中传入一个true作为参数,则会强制清空缓存刷新
-replace():可以用一个新的页面来替换当前页面,新页面的路径作为参数;不会生成历史记录
五、定时器
5.1 概述
1、setTimeout(fn, timer)
-函数(fn)在一段时间(timer)之后执行
-返回值一个数字number,作为定时器的唯一标识,可以用来当作关闭定时器函数的参数
-延时调用
-只调用一次
2、clearTimeout(number)
-清除相关的定时器
-number为定时器返回的数字,定时器的标识
3、setInterval(fn, timer)
-可以将一个函数(fn)每隔一段时间(timer)执行
-返回值一个数字number,作为定时器的唯一标识,可以用来当作关闭定时器函数的参数
-定时调用
-调用多次
4、clearInterval(number)
-清除相关的定时器
-number为定时器返回的数字,定时器的标识
-可以接收任意参数,甚至是undefined,null值,如果参数是一个有效的定时器的标识,则停止对应的定时器;如果参数不是一个有效的标识,则什么也不做
timer单位:毫秒(ms)