@[TOC]
1.什么是BOM
BOM 即浏览器对象模型(browser object model),其提供了一系列接口供开发者使用 JavaScript 与浏览器窗口进行交互。
BOM 没有自己的标准,在浏览器中 window 对象就是 BOM 相关内容的入口。
2.常用的 BOM 相关对象
通常与 BOM 相关的常用对象有:
Location 当前页面地址相关信息,如当前页面地址
Navigator 当前浏览器相关信息,如浏览器版本
Screen 包含屏幕相关信息,如屏幕的长宽
History 浏览器的历史相关信息,如返回上一页
2.1Location
window.location 只读属性,返回一个 Location 对象,其中包含有关文档当前位置的信息
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>BOM</title>
</head>
<body>
<script>
var window = this;
window.location.href = 'https://bilibili.com';
</script>
</body>
</html>
一打开运行,就会跳转到bilibili主页
2.2Navigator
只读属性 Window.navigator 会返回一个 Navigator 对象的引用,可以用于请求运行当前代码的应用程序的相关信息。常用的只有一个userAgent
属性
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>BOM</title>
</head>
<body>
<script>
//该属性包含了一些浏览器、操作系统、设备等信息
console.log(navigator.userAgent);
</script>
</body>
</html>
2.3 Screen
返回当前window的screen对象。screen对象实现了Screen接口,它是个特殊的对象,返回当前渲染窗口中和屏幕有关的属性。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>BOM</title>
</head>
<body>
<script>
var screenWidth = window.screen.width;
var screenHeight = window.screen.height;
console.log('分辨率: ' + screenWidth + 'x' + screenHeight);
</script>
</body>
</html>
2.4 History
Window.history是一个只读属性,用来获取History 对象的引用,History 对象提供了操作浏览器会话历史。
history 主要用于操作浏览器历史相关的内容,如前进、后退。
通常用的最多的就是history.back()
,即返回上一页。
由代码实现比较抽象,所以我选选择在控制台演示:
我打开了CSDN的主页,并在控制台写了history.back();
回车后:
回到了我的上一页。
3.小结
BOM还有一个常用的属性和方法,我将会写在下一节。