当前位置: 首页 > news >正文

history的pushState/replaceState理解

在html5中 推出了history这种新的语法 其中 我们可以利用他来完成不同网页之间的跳转 并且通过不同的api调用可以完成同一个需求

1.pushState

该方法除了可以帮助我们完成不同url之间的跳转以外 还支持网页的前进和后退
原理:你可以将网页的前进和后退操作看待成两个栈此消彼长的过程 其中 一个栈的栈顶元素用于进行页面展示 而另外一个栈则用于暂时存放一些网页元素 当我们进行网页的前进操作时 我们首先会考虑第二个栈是否为空 不为空的话 就将第二个栈的栈顶元素压入第一个栈作为栈顶元素进行展示 反之会将网页元素加入到第一个栈作为栈顶元素 并且展示该栈顶元素 而对于网页的后退操作而言 我们则是将第一个栈中的栈顶元素弹出 并且暂时存放到第二个栈中 以备加入到第一栈作为栈顶元素进行展示

真实的原理不是上述所述 只不过上述过程可以用于模拟网页的前进和后退过程 帮助理解罢了

2.replaceState

该方法同样可以帮助我们完成不同url之间的跳转 但是他和pushState不同的地方在于他不支持网页的前进和后退 因为他不能够像pushState那样准备两个栈以支撑网页的前进和后退操作


http://www.mrgr.cn/news/44248.html

相关文章:

  • vSAN05:vSAN延伸集群简介与创建、资源要求与计算、高级功能配置、维护、故障处理
  • 突触可塑性与STDP:神经网络中的自我调整机制
  • 电子信息类专业技术学习及比赛路线总结(大一到大三)
  • LeetCode hot100---栈专题(C++语言)
  • 10月5日刷题记录
  • 数据结构与算法篇(树 - 常见术语)
  • vue.js组建开发
  • 数据结构与算法篇(图)(持续更新迭代)
  • 【LeetCode-热题100-128题】官方题解好像有误
  • 【重学 MySQL】五十八、文本字符串(包括 enum set)类型
  • 如 有 任 何 问 题 ,请 及 时 联 系 我 们 反 馈 !
  • 一个值得关注的3D生成新算法:速度和图像生成平齐,能生成合理的展开贴图和高质量mesh
  • 19年408数据结构
  • 【Blender Python】3.使用For循环和列表批量创建立方体
  • 重磅来袭!CMSIS-DAP 脱机烧录器 EasyFlasher 发布~
  • STL-优先级队列使用总结
  • 10.6字符驱动设备
  • 力扣之1322.广告效果
  • MySQL 数据库的备份与恢复
  • 用多了编程工具,还是Editplus3最贴心