JSBOM简介
一.BOM简介
BOM
------ 即浏览器对象模型
------ BOM可以使我们通过JS来操作浏览器BOM对象:
------ Window, 代表的是整个浏览器窗口, 同时window也是网页中的全局对象
------ Navigator, 代表当前浏览器的信息, 通过该对象可以识别不同浏览器
------ Location, 代表当前浏览器的地址栏信息, 通过它可以获取地址栏信息, 或者操作浏览器跳转页面
------ History, 代表浏览器的历史记录, 由于隐私, 该对象不能获取到具体的历史记录, 只能操作浏览器向前或向后翻页且该操作只在当次访问时有效.
------ Screen, 代表用户的屏幕信息, 通过它可以获取到用户的显示器相关信息(一般用于手机端)以上BOM对象在浏览器中都是作为window对象的属性保存, 可以通过window对象调用, 也可以直接调用.
1 | console.log(window.navigator); |
二.Navigator
- 代表的是当前浏览器的信息, 通过该对象可以识别不同的浏览器
- 由于历史原因, Navigator对象中的大部分属性都已无法帮助我们识别不同的浏览器
- 一般我们使用userAgent(用户代理即浏览器)来判断浏览器信息, 它是一个字符串, 存储着浏览器的信息, 不同的浏览器有不同的userAgent, 但用userAgent不能区分IE11
- 若通过userAgent不能判断, 还可以用一些浏览器中特有的对象或属性, 来判断浏览器信息, 比如: IE特有的ActiveXObject
1 | /*navigator.userAgent |
三.History
属性或方法 | 描述 |
---|---|
length | 返回浏览器历史列表中的URL数量 |
back() | 加载history列表中的前一个 URL |
forward() | 加载history列表中的下一个 URL |
go() | 加载history列表中的某个具体页面(参数决定) |
history方法的功能相当于浏览器的前进和后退按钮的功能
go() 参数(整数): 1 相当于forward(); -1 相当于back(); 2 前进两次
四.location
代表地址栏信息, 若直接打印location, 则可以打印出地址栏当前页面的完整URL
若直接将location修改为一个绝对地址或相对地址, 则当前页面会自动跳转到该路径, 并会生成相应的历史记录.
属性或方法 | 描述 |
---|---|
href | 设置或返回完整的 URL |
host | 设置或返回主机名和当前 URL 的端口号 |
hostname | 设置或返回当前 URL 的主机名 |
port | 设置或返回当前 URL 的端口号 |
pathname | 设置或返回当前 URL 的路径部分 |
protocol | 设置或返回当前 URL 的协议 |
search | 设置或返回从问号(?)开始的URL(查询部分) |
assign() | 加载新的文档, 相当于修改location |
reload() | 重新加载当前文档 |
replace() | 用新的文档替换当前文档 |
1 | <head> |