hash和history的原理和区别
原理区别
hash原理:hash通过监听浏览器的onhashchange()事件变化,查找对应的路由规则
history原理: 利用H5的 history中新增的两个API pushState() 和 replaceState() 和一个事件onpopstate监听URL变化history模式
利用了HTML5 History Interface中新增的pushState()和replaceState()方法,这两个方法应用于浏览器的历史记录栈,在当前已有的back、forward、go的基础上,他们提供了对当前浏览器进行修改的功能,只是当它们被修改时,虽然浏览器的URL发生了变化,但是不会立即向后端服务器发送请求,但是如果点击刷新,就会重新向后端服务器发送请求。
hash 就是指 url 尾巴后的 # 号以及后面的字符,history没有底带#,外观上比hash 模好看些hash回车刷新会加载到地址栏对应的页面,history一般就是404掉了hash 能兼容到IE8, history 只能兼容到 IE10;
hash 值变化不会导致浏览器向服务器发出请求,而且 hash 改变会触发 hashchange 事件(hashchange只能改变 # 后面的url片段);
虽然hash路径出现在URL中,但是不会出现在HTTP请求中,对后端完全没有影响,因此改变hash值不会重新加载页面,基本都是使用 hash 来实现前端路由的。
谢谢阅读!
美好的明天会感谢今天努力的自己!
hash和history的原理和区别相关推荐
- hash值和history值详解区别
赠人玫瑰 Vue作为前端主流的渐进式开发框架被大量程序员熟知应用,Vue中为了构建SPA(single page web application,单页Web应用),需要引入前端路由系统,这也就是 V ...
- Hash 和 History模式的区别
表现形式的区别 Hash 模式 https://music.163.com/#/playlist?id=3102961864(有# 号,# 号后面带路由地址,?号携带 url 参数,官方文档说这种模式 ...
- vue路由的两种模式:hash与history的区别
前言:众所周知,vue-router有两种模式,hash模式和history模式,下面来看看两者的区别. 一.基本情况 直观区别:hash模式url带#号,history模式不带#号. 1.hash模 ...
- 浅谈前端路由原理hash和history
浅谈前端路由原理hash和history
- history模式监听_面试题:VueRouter中的 hash 模式和 history 模式有什么区别
面试题:VueRouter中的 hash 模式和 history 模式有什么区别 hash模式 hash 模式的路由中带有 # 号 hash 模式通过 window.onhashchange 方法监听 ...
- vue-router的两种模式(hash和history)及区别
为什么要有hash 和history? 对于Vue这类渐进式前端开发框架,为了构建SPA(单页面应用),需要引入前端路由系统,这也就是Vue-Router存在的意义.前端路由的核心,就在于--改变试图 ...
- hash 和 history 两种模式
区别 hash模式下,仅hash符号之前的内容会被包含在请求中,如 http://www.11.com 因此对于后端来说,即使没有做到对路由的全覆盖,也不会返回404错误: history模式下,前端 ...
- “约见”面试官系列之常见面试题第二十六篇之vue-router的hash和history(建议收藏)
这篇文章主要介绍了Vue-router 中hash模式和history模式的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 Vue-router 中hash模式和hi ...
- 前端路由模式详解(hash和history)
前端路由模式详解(hash和history) 前端路由有两种模式:hash 模式和 history 模式,接下来分析这两种模式的实现方式和优缺点. hash 模式 hash 模式是一种把前端路由的路径 ...
最新文章
- Day25 linux shell中的特殊符号与命令
- 七种武器——.NET工程师求职面试必杀技
- 理解向日葵甘特之六——定义数据列
- python choose语句作用_理解闭包是如何与变量作用域相互影响的
- 一些jquery的使用方法
- 如何使用QGIS下载在线地图
- shell错位_shell脚本出错!来大神指出错误出处!!!!
- 简明 Python 教程
- Mac eclipse下载地址 Java开发
- excel 显示 html代码,excel转成html显示
- NSA方程式泄漏工具包浅析
- 启航——我的第一篇博客
- 物联网卡传感器赋能零售商品感应机制 开启智能零售新风尚
- 百度地图InfoWindow信息窗口的自定义和样式修改
- 小程序实现老虎机抽奖动画
- pearsonr(x,y)、corr()、corrcoef(u1) 相关系数计算
- QQ注册页面(完整版)
- c语言十进制转八进制递归,C语言之利用递归将十进制转换为二进制
- 苹果4s怎么显示无服务器,苹果4s连接电脑没有反应怎么办 苹果4s怎么连接电脑...
- 基于ZigBee的智能家居设计与实现—MQTT服务器搭建+APP开发
热门文章
- 小狼毫输入法标点符号直接上屏,反斜杠(\)输入顿号(、) BY 冷家锋、刘亭亭
- 罗永浩:锤子起死回生在 2017,现在是抢手“香饽饽儿”
- 套路大盘点 ,那些年程序员都是如何找到对象的~
- Mac电脑上矢量绘图设计软件推荐:Sketch一款不逊色PS设计应用
- 谷歌全新 App 广告线上课程,让您的 App 推广事半功倍
- kubernetes_22_基于containerd部署kubernetes v1.20.5
- 蓝桥杯单片机比赛学习:7、中断系统之串口中断的基本原理
- 整理 .Net 2.0 下 WinForms中常用的方法(更新中...)
- 惠普台式电脑引导不了系统_惠普电脑如何进入bios设置引导模式
- Python实现GWO智能灰狼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战