BOM:Browser Object Model 浏览器对象模型
# BOM:Browser Object Model 浏览器对象模型
利用ECMAScript,我们可以通过BOM对象(即browser object model)来操作浏览器窗口、浏览器导航对象(navigator)、屏幕分辨率(screen)、浏览器历史(history)、cookie等等。 [TOC]
# 一、window.open(url,打开方式)
- url为空:默认打开空白页面
- 打开方式为空:默认新窗口方式打开
- 返回值:返回新打开窗口的window值
# 二、window.close()
- 可以关闭在本窗口中通过js方法打开的新窗口
- ff:无法关闭;
- chrome:直接关闭;
- ie:询问用户。
# 三、window.navigator.userAgent
- 浏览器信息
if ( window.navigator.userAgent.indexOf('MSIE') != -1 ) {
alert('我是ie');
} else {
alert('我不是ie');
}
1
2
3
4
5
2
3
4
5
- 谷歌浏览器
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
1
# 四、window.location
浏览器地址信息
window.location.href
->url(同window.location)window.location.search
->url?后面的内容
window.location.hash
->url#后面的内容
window.location.href
// "https://www.google.com/search?q=frontend#user=123"
window.location.search
// "?q=frontend"
window.location.hash
// "#user=123"
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 五、可视区的内容
document.documentElement.clientWidth[clientHeight]
document.body.clientWidth[clientHeight]
1
2
2
# 六、滚动条滚动距离
// 标准浏览器
document.documentElement.scrollTop[scrollLef]
// 谷歌浏览器
document.body.scrollTop[scrollLeft]
// 兼容不同的浏览器
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop
1
2
3
4
5
6
2
3
4
5
6
# 七、window.onscroll/onresize
- onscroll : 当滚动条滚动的时候触发。
//
window.onscroll = function() {
document.title = i++;
}
1
2
3
4
2
3
4
- onresize : 当窗口大小发生改变的时候触发
window.onresize = function() {
document.title = i++;
}
1
2
3
2
3