今天在项目中遇到 要实现修改地址栏但是页面不可以刷新的需求

查阅资料发现可以用window.history.pushState(state, title, url)和window.history.replaceState(state, title, url)

三个参数:

state:一个与添加的记录相关联的状态对象,主要用于popstate事件。该事件触发时,该对象会传入回调函数。也就是说,浏览器会将这个对象序列化以后保留在本地,重新载入这个页面的时候,可以拿到这个对象。如果不需要这个对象,此处可以填null或者空字符串。

title:新页面的标题。但是,现在所有浏览器都忽视这个参数,所以这里可以填空字符串。

url:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址,不会检查url是否存在。

两者区别:

pushState()方法是在历史记录中增加一条新的记录,pushState()因为留下记录,所以可以回撤

replaceState()方法是将当前的历史记录给替换掉,不会在history中留下记录,因为未留下记录,所以无法返回

searchParams = `?keyword=${keyword}&pageNum=1&pageSize=10&type=${type}&courseType=${courseType}&subjectId=${subjectId}`
getSearch(searchParams)function getSearch(keyword) {history.pushState("", "", "./searchPage.html" + keyword);...
}

window.history.pushState()和window.history.replaceState()相关推荐

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

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

  2. 操纵浏览器历史记录 : popstate() 、 history.pushState() 、 window.history.pushState()

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.历史记录前进与后退 1.后退: window.history.back() -- 相当于用户在浏 ...

  3. Javascript history pushState onpopstate方法做AJAX SEO

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

  4. 阻止微信后退,阻止微信页面关闭 history.pushState 无刷新改变页面URL

    阻页面后退 防止页面关闭 <!DOCTYPE html> <html> <head><title>阻止微信后退按钮</title> < ...

  5. window history pushState replaceState 跳转原理

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

  6. ajax怎么找回地址栏,使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL...

    HTML5里引用了新的API,就是history.pushState和history.replaceState,就是通过这个接口做到无刷新改变页面URL的. 与传统的AJAX的区别 传统的ajax有如 ...

  7. 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" ...

  8. ajax与HTML5 history pushState/replaceState实例

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

  9. 怎样监听history.pushState、history.replaceState事件

    前言 SPA应用的核心是路由监听,一般有两种方式,其一是利用URL锚点并监听hashchange事件,其二就是利用history.pushState和history.replaceState两个API ...

最新文章

  1. Nginx为什么快到根本停不下来?
  2. 静态页转换平台(StaticPol)-静态页生成终极解决方案(转)
  3. USB查看器 USB Device Tree Viewer(UsbTreeView.exe)的使用(重启Intel Realsense摄像头)
  4. Linq的一些操作符-图表展示
  5. WordPress获取当前分类ID的四种方法
  6. 新自然指数出炉,哪些高校表现突出?
  7. 大脑应对危机的模式_危机的完整形式是什么?
  8. java可以继承私有的,关于java:继承中的私有方法
  9. Tensorflow——Dropout(解决过拟合问题)
  10. 提高页面渲染速度的建议以及方案
  11. java 接受gsm信息_android 获取手机GSM/CDMA信号信息,并获得基站信息
  12. eclipse导入wsdl文件_Eclipse+Axis使用WSDL文件生成Web Service服务端/客户端
  13. 转:企业数字化的本质,其实就这3条
  14. 计算机系统维护课程设计报告,计算机系统维护工程(第2版)
  15. 【水哥RPA】配置水哥RPA环境变量报错的解决方法
  16. 利用 ChatGPT 简化微信聊天内容
  17. 多多客id是什么意思_【多多情报学堂】拼多多id是什么?拼多多店铺id在哪里看?...
  18. 应用与系统稳定性第三篇---FD泄露问题漫谈
  19. python 爬虫-京东用户评论数据和用户评分
  20. PDF不能打印怎么办?

热门文章

  1. 一个美国专利律师的从业观
  2. web、pc、wap、app的区别
  3. java使用常量的好处是什么_Java常量知识点小结
  4. codeforces 1716 C Robot in a Hallway
  5. nginx服务器默认的缓存文件,配置Nginx 缓存服务器
  6. password authentication failed for user “##““
  7. vue上传文件get请求,携带参数文件和其他参数
  8. openEuler MIC Meetup 3月20日登陆上海,谁说不写代码不能玩开源
  9. Eigen 求协方差矩阵
  10. SAP中GR/IR余额清单功能MB5S