在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前言: 我们浏览一个网页时可能不太会注意网页前进后退这些操作,但是在开发时你是否想过页面之间的跳转经历了什么,浏览器时怎么保存的页面信息,重新返回上一个页面的时候是否需要重新加载页面呢,会有很对疑问,要想解决这些问题,首先需要知道浏览器中的 1、路由导航 history.go(-1);// 后退一页 history.go(1);// 前进一页 history.go(2);// 前进两页 // go() 有两个简写方法: back() 和 forward() 。 history.back();// 后退一页 history.forward();//前进一页
2、历史状态管理API(1)hashchange 事件
(2)popstate 事件 当活动历史记录条目更改时,将触发 (3)history.pushState() 方法 (4)history.replaceState()方法 <body> <button onclick="handleNext()">点我到下一页</button><br> <button onclick="handleLast()">点我到上一页</button><br> <script> window.onload = function () { console.log(window.history); } window.addEventListener('hashchange', function () { console.log('The hash has changed!') }, false); window.addEventListener('popstate', (event) => { console.log("location: " + document.location + ", state: " + JSON.stringify(event.state)); }); function handleNext() { const state = { userId: "1234", page: "2" } const title = '二' const url = 'page2.html' window.history.pushState(state, title, url) console.log(window.history); } function handleLast() { const state = { userId: "1234", page: "21" } const title = '一' const url = 'page21.html' window.history.replaceState(state, title, url) console.log(window.history); } </script> </body> 运行结果如下: 3、补充:URL的hash URL的 如下图所示: 写在最后: 到此这篇关于J |
请发表评论