常用BOM
含义:浏览器对象模型,提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。是由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。缺乏标准,兼容性比较差。
所有JS都可以转换为window对象;全局变量与全局函数是window的属性和方法。
- window.onload与DOMContentLoaded
window.onload窗口(页面)的加载事件,当文档内容完全加载完成会触发该事件(包括图像、脚本文件、CSS文件等)。传统注册事件方式只能写一次(用addEventListener就没有限制),如果有多个,会以最后一个window.onload为准。
window.onload = function() {}
DOMContentLoaded事件触发时,仅当DOM加载完成时,不包括样式,图片,flash等等。Ie9以上支持。
document.addEventListener('DOMContentLoaded', function() {})
*区别:*若图片较多的情况,用户从访问到onload触发需要较长时间,交互效果体验不好,此时使用DOMContentLoaded事件比较合适。
- 调整窗口大小事件
window.onresize
是调整窗口大小加载事件,当触发时就调用的处理函数
window.innerWidth
当前屏幕的宽度
window.innerHeight
浏览器窗口内部高度
window.open()
打开新窗口
window.close()
关闭当前窗口
window.moveTo()
移动当前窗口
window.resizeTo()
调整当前窗口尺寸
- 定时器
window.setTimeout(调用函数, [延迟的毫秒数]);
延迟一段时间执行回调函数
定时器在时间到期后执行调用函数;延迟毫秒数省略默认是0
停止setTimeout()定时器: window.clearTimeout(timeoutId)
参数是定时器的标识符
window.setInterval(回调函数, [间隔的毫秒数]);
每间隔一段时间就调用函数
停止setInterval()定时器: window.clearInterval(intervalId);
- 弹窗
window.alert('someText')
警告窗(可省略window)
window.confirm('someText')
确认框 -> 返回 true 或 false
window.propt('someText', defaultValue)
提示框 -> 返回值
- 其他方法
-
window.Screen(包含有关用户屏幕信息,可省略window前缀)
->screen availWidth 可用屏幕宽度; screen availHeight 可用屏幕高度
-
window.location(获取当前网页地址,并把浏览器重定向新的页面,可省略window前缀)
location.hostName
返回web主机域名
location.pathName
返回当前页面路径和文件名
location.port
返回web主机端口
location.protocol
返回使用的web协议
location.assign
加载新的文档
location.assign(url)
加载新的html文档
location.replace(url)
加载指定文档代替当前文档
window.history(包含浏览器的历史,不可以省略window前缀)
history.back()
后退
history.forward()
向前
history.go(int)
1:前进一页;2:后退一页; 3:刷新页面
window.navigator(包含有关访问者浏览器信息,不使用window前缀)
navigator
不建议用来检测浏览器版本,原因navigator数据可被使用者更改,一些浏览器对监测站点识别错误,无法报告晚于浏览器的新操作系统
navigator.appCodeName
浏览器代号
navigator.appName
浏览器名称
navigator.appVersion
浏览器版本
navgitor.cookieEndabled
启动cookie
navigator.platform
硬件平台
navigator.userAgent
用户代理(用于检测浏览器可以用浏览器独家支持的方法检测)