1.概要
关于BOM(浏览器对象模型)的权威知识来源:
(1)HTML规范 (主要方面)
(2)浏览器厂商自由扩展
主要包括:
(1) window对象
(2) history对象
(3) location对象
(4) navigator对象
(5) screen对象
2.浏览器历史
类似于栈的数据结构
API | 简要说明 | 常见的坑 |
---|---|---|
back | 等于用户点击浏览器回退按钮 | 5 |
forward | 等于用户点击浏览器前进按钮 | 6 |
go | 去往任意历史 | 7 |
pushState | pushState(状态对象, 标题, 路径); | 栈与location被修改,但是不会跳转 |
replaceState | pushState()可以创建历史,可以配合popstate事件,而replaceState()则是替换掉当前的URL,不会产生历史。 | 7 |
pushState例子:
任意浏览器窗口下 pushState({},'test','test.html')
history栈被加入test.html的历史,location被修改为test.html,但是不会加载test.html.
在当前页面跳转进入下一页面再按后退 会加载访问test.html