1. BOM(Browser Object Document)浏览器对象模型
JS由三部分构成,ECMAScript,DOM和BOM, BOM,BOM主要是用来处理浏览器窗口和框架
- DOM 是 W3C 的标准; (公共标准)
- BOM 是 各个浏览器厂商根据 DOM在各自浏览器上的实现; (有差异)
- window 是 BOM 对象,而非JS对象;
2. BOM的窗口
(1)可视窗口大小
innerWidth 是窗口的空间
对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:
window.innerHeight – 浏览器窗口的内部高度
window.innerWidth – 浏览器窗口的内部宽度
clientWidth 在任何窗口系统中都是指用户内容能放置的空间
document.documentElement.clientHeight
document.documentElement.clientWidth
或者
document.body.clientHeight
document.body.clientWidth
可以看到还是具有差异的
(2) 窗口的位置
window.screenTop与window.screenY同理
(3) 定时器
间歇调用的定时器:setInterval(), 每隔一定时间就调用函数,方法或对象,返回一个 ID 值,可用来清除一个定时器
超时调用定时器:setTimeout(),经过第二个参数的时长之后不一定执行,返回数值ID表示超时调用
(4) window.location对象包含了当前URL的信息
widow.location == document.location
location.host 获取port号
location.hostname 设置或获取主机名称
location.href 设置或获取整个URL
location.port设置或获取URL的端口号
location.search 设置或获取href属性中跟在问号后面的部分
eg: “?today=6”
补充: encodeURI( )解码的函数
(5) navigator
非IE:navigator,plugins 获得插件
IE : new ActiveXObject(name) 创建特定插件的实例
(6)screen
screen.(height/width) 屏幕高宽
screen.(left/top) 屏幕距左边上边的距离
(7) history对象
history.go(-1) 后退1页
history.back() 后退一页
history.forward() 前进一页
后退一页的效果