hash 模式和 history 模式的实现原理:
- #后面的 hash 值的变化不会导致浏览器向服务器发出请求,浏览器不发出请求,就不会刷新页面。通过监听 hashchange 事件的变化可以知道 hash 值发生了哪些变化,然后根据 hash 值的变化来实现更新页面部分内容的操作
- history 模式的实现主要是通过 HTML5 标准发布的两个 api,pushstate 和 replacestate。这两个 api 可以改变 url,但不会发出请求。这样可以监听 url 的变化来实现页面部分内容的更新。
hash 模式和 history 模式的区别主要有:
1.首先是 url 的展示上 hash 有#而 history 没有
2.刷新页面时,hash 模式可以加载 hash 值对应的页面;history 模式下如果没有处理,则会返回 404,一般需要后端对所有页面配置重定向到首页路由。
3.hash 可以兼容低版本的浏览器以及 ie文章来源地址https://www.toymoban.com/news/detail-627644.html
文章来源:https://www.toymoban.com/news/detail-627644.html
到了这里,关于hash 模式和 history 模式的实现原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!