Skip to content

实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。 ​

本节目标:理解“实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。”的核心思路,并能把它用于实际开发或面试表达。 ==通过使用== ==pushState + ajax== ==实现浏览器无刷新前进后退,当一次== ==ajax== ==调用成功后我们将一条== ==state== ==记录加入到== ==history== ==对象中。一条== ==state== ==记录包含了== ==url====、====title== ==和== ==content== ==属性,在== ==popstate== ==事件中可以获取到这个== ==state== ==对象,我们可以使用== ==content== ==来传递数据。最后我们通过对====window.onpopstate== ==事件监听来响应浏览器的前进后退操作。====== ==使用== ==pushState== ==来实现有两个问题,一个是打开首页时没有记录,我们可以使用== ==replaceState== ==来将首页的记录替换,另一个问题是当一个页面刷新的时候,仍然会向服务器端请求数据,因此如果请求的== ==url== ==需要后端的配合将其重定向到一个页面。====== ==详细资料可以参考:== ==《====pushState + ajax== ==实现浏览器无刷新前进后退》== ==《====Manipulating the browser history====》== > 来自

 <https://github.com/CavsZhouyou/Front-End-Interview-Notebook/blob/master/JavaScript/JavaScript.md>

本站总访问 — 次