hash 模式和 history 模式的实现原理

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

相关推荐
hashiqimiya18 分钟前
JavaScript的object的使用和监控打印日志
前端·javascript·vue.js
Bruce_Liuxiaowei29 分钟前
Nmap+Fofa 一体化信息搜集工具打造
运维·开发语言·网络·网络安全
智航GIS31 分钟前
5.1 if语句基础
开发语言·python
bu_shuo35 分钟前
MATLAB中的转置操作及其必要性
开发语言·算法·matlab
梦6501 小时前
Vue 组件 vs React 组件深度对比
javascript·vue.js·react.js
2501_946230981 小时前
Cordova&OpenHarmony提醒管理系统实现
android·javascript
C_心欲无痕1 小时前
vue3 - useId生成唯一标识符
前端·javascript·vue.js·vue3
KoalaShane1 小时前
El-slider 增加鼠标滚动滑块事件
开发语言·前端·javascript
智算菩萨1 小时前
【Python进阶】搭建AI工程:Python模块、包与版本控制
开发语言·人工智能·python
C_心欲无痕1 小时前
vue3 - watchSyncEffect同步执行的响应式副作用
开发语言·前端·javascript·vue.js·vue3