架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 829|回复: 3

[JavaScript] history.pushState 实现浏览器页面不刷新修改url链接

[复制链接]
发表于 2019-6-20 10:17:16 | 显示全部楼层
1.状态对象(stateObject)--stateObject是一个JavaScript对象,通过pushState方法可以将stateObject内容传递到新页面中。

2.标题(title)--几乎没有浏览器支持该参数,但是传一个空字符串会比较安全。

3.地址(url)--新的历史记录条目的地址(可选,不指定的话则为文档当前URL);浏览器在调用pushState()方法后不会加载该地址;传入的URL与当前URL应该是同源的,否则,pushState()会抛出异常。








上一篇:分享一款录制gif动图的超棒exe
下一篇:阿里云负载均衡slb之http重定向https的坑
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-6-20 10:55:31 | 显示全部楼层
现在很多前端框架都用到了这种技术,点击菜单,url变了,并没有新的网络请求
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2019-6-20 11:24:05 | 显示全部楼层
小渣渣 发表于 2019-6-20 10:55
现在很多前端框架都用到了这种技术,点击菜单,url变了,并没有新的网络请求 ...

那是不是 新的页面内容 都已经放到缓存里了
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-6-20 11:56:00 | 显示全部楼层
夏天 发表于 2019-6-20 11:24
那是不是 新的页面内容 都已经放到缓存里了

不是,是第一次请求的时候,把所有页面关键的内容已经下载下来了,然后,js也有路由的概念了,根据不同url,给你不同的内容。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2020-7-11 21:51

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表