应用场景:实现点击浏览器前进和回退按钮importPage,checkPage div区块的切换

关键代码

  新建tab页,将页面url粘贴到地址拦,刷新页面,此时历史栈数为2,当前onpopstate事件回调,返回e.state为null,先替换栈里的当前页,浏览器显示checkPage页面,栈里当前页也为checkPage。

window.history.replaceState({    wid: 'checkPage'}, document.title);

点击按钮,向历史栈里添加页面。

var registerBackPage = function (wid) {
    window.history.pushState({        wid: wid    }, document.title);}window.addEventListener("popstate", function (t) {    var wid = "";    if (t.state && t.state.wid) {        wid = t.state.wid;    } else {        return    }    switchPage($('#' + wid));})
$("#importPageBtn").click(function () {    registerBackPage('importPage');    switchPage($('#importPage'));});

参考链接:http://www.cnblogs.com/lyzg/p/5960609.html

转载于:https://www.cnblogs.com/haigelang/p/7081872.html

对pushState、replaceState和onpopstate一点使用相关推荐

  1. history`pushState和window`onpopstate实现tab切换效果

    前言 先来介绍一下history.pushState()和window.onpopstate history.pushState(),改变当前地址栏的路径,并不会更新页面内容 用法:history.p ...

  2. ajax与HTML5 history pushState/replaceState实例

    一.本文就是个实例展示 三点: 我就TM想找个例子,知道如何个使用,使用语法什么的滚粗 跟搜索引擎搞基 自己备忘 精力总是有限的,昨天一冲动,在上海浦东外环之外订了个90米的房子,要借钱筹首付.贷款和 ...

  3. vue-router 路由 pushstate replacestate popstate 详解

    一. 概述 window.history属性指向 History 对象,它表示当前窗口的浏览历史. History 对象保存了当前窗口访问过的所有页面网址.下面代码表示当前窗口一共访问过3个网址. w ...

  4. replacestate 后退刷新_pushState、replaceState、onpopstate 实现Ajax页面的前进后退刷新 渔人码头...

    使用Ajax可以异步获取数据,可以更高效地渲染页面. 但也存在这一些问题: 再刷新页面,页面就会变成初始的状态 浏览器的前进后退功能无效 对搜索引擎的爬虫抓取不友好 1. 早前会使用浏览器的 hash ...

  5. h5 的 pushState, replaceState 和 popstate 事件

    我们可以使用location.hash来模拟ajax的前进后退功能.但是使用location.hash存在下面几个问题: 1.使用location.hash会导致地址栏的url发生变化,用户体验不够友 ...

  6. 前端js实现路由切换页面 pushState replaceState

    window.history 我们可以通过window.history的两个方法来控制浏览器的路由改变,但不会让浏览器刷新页面. pushState 会追加浏览器的路由历史,但不会刷新页面,可以用这种 ...

  7. window history pushState replaceState 跳转原理

    一.pushState 比如,当前打开的界面是:https://developer.mozilla.org/en-US/docs/Web/API/History,如下图所示: 在chrome的cons ...

  8. html5test作用,test - SegmentFault 思否

    防抖:多次触发事件后,事件处理函数只执行一次,并且是在触发操作结束时执行. function debounce(fn) { // 4.创建一个标记用来存放定时器的返回值 let timeout = n ...

  9. Javascript history pushState onpopstate方法做AJAX SEO

    参考MDN: https://developer.mozilla.org/zh-CN/docs/DOM/Manipulating_the_browser_history https://develop ...

最新文章

  1. Xamarin 2017.9.19更新
  2. 《流浪地球》虽好,却存在一个不可回避的硬伤!
  3. 洛谷P1095守望者的逃离题解-伪动态规划/贪心
  4. mac启动mysql,apache,php
  5. Java 代码性能优化总结
  6. JNCIS翻译文档之------接口3
  7. Go 单元测试从 0 到 1
  8. 获取SD卡上 未安装 APK文件信息
  9. 蓝桥杯省赛2013年Java组B组
  10. python 抓取豆瓣一拍一所有妹子客片
  11. vue组件 组件的继承extend
  12. 如何在新浪微博中批量取消关注
  13. 裁员1700人,IBM 声称内部调整团队;谷歌将以26亿美元全现金收购Looker,绝对大手笔...
  14. 表单设计中标签的布局方式有哪些
  15. python常见错误 TypeError: 'NoneType' object is not iterable
  16. VBA 等待1S 处理方法
  17. 普中科技开发板AD转换和步进电机
  18. 推断统计python化(参数估计,假设检验与 t检验)
  19. 用java输入学生姓名查询成绩_制作学生信息(姓名,学号,成绩)管理系统(用Java)...
  20. 论文解读 | 锚点 DETR:基于 transformer 目标检测的查询设计

热门文章

  1. CCF业务总部和学术交流中心落户苏州相城
  2. 华为发布AI时代数据中心交换机:让网络瓶颈不再是束缚,AI算力提升一倍
  3. 最值钱无人车团队组织架构曝光:Waymo总共不到千人,2/3是工程师
  4. 旷视Face++与西交大成立AI联合实验室,郑南宁孙剑再续师徒缘
  5. Vlan与VTP的介绍及工作原理
  6. 谈区块链的时候别忘记了“新零售”
  7. CTF---Web入门第八题 Guess Next Session
  8. POJ 2663 Tri Tiling dp 画图找规律
  9. 性能调优之综合篇 - Linux系统性能监控和故障排查利器Sysdig
  10. 理顺 JavaScript (7) - 数字相关问题