HJY-xh / plantTrees

每天几个前端小知识📙 2021.2.14 - new Date()
MIT License
22 stars 4 forks source link

[2022-4-10] history路由实现原理是什么? #560

Open HJY-xh opened 2 years ago

HJY-xh commented 2 years ago

2014年之后,因为HTML5标准发布,浏览器多了两个API:pushStatereplaceState,通过这两个API能够改变URL地址,并且浏览器不会像服务器发送请求,因此就能通过history方式来实现前端路由。

通过监听 popstate 事件,可以知道路由的变化,此时 fn 函数中,实现对页面的更新操作:

window.addEventListener('popState', fn);