html5的pushstate以及监听浏览器返回事件的实现


Posted in HTML / CSS onAugust 11, 2020

pushstate与监听浏览器返回解决的问题

1.实际开发我们在A页面调用组件,在组件里面填好内容之后,发现想退出不想填了,因为组件与A页面此时在同一页面,点击返回时候 给人感觉是返回上上个页面,但之前A页面填写的东西 都没有了,这很影响体验。

因此可以使用pushstate方法,不刷新浏览器改变url 当你再返回时候就会返回到这个A页面而不是上上个页面。但此时还需要监听返回的按钮,进而控制组件的显示与隐藏。这点也至关重要。不然组件不隐藏,也就相当于没效果。

pushState

使用方法(一般情况)

function pushHistory() { 
var state = { title: "title", url: "#" }; 
window.history.pushState(state, "title", "#"); }

参数说明:

pushState() 带有三个参数:state是js对象,title是个标题(现在被忽略了),以及一个可选的URL地址。

关于pushstate的说明

浏览器不会向服务端请求数据,直接改变url地址,可以类似的理解为变相版的hash;但不像hash一样,浏览器会记录pushState的历史记录,可以使用浏览器的前进、后退功能作用。

监听浏览器返回按钮

window.addEventListener("popstate", function(e) { console.log(e); alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能 }, false);

转自:https://segmentfault.com/a/1190000022696823

到此这篇关于html5的pushstate以及监听浏览器返回事件的实现的文章就介绍到这了,更多相关html5的pushstate实现内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
详解使用CSS3的@media来编写响应式的页面
Nov 01 HTML / CSS
CSS3属性选择符介绍
Oct 17 HTML / CSS
css3中检验表单的required,focus,valid和invalid样式
Feb 21 HTML / CSS
CSS实现的一闪而过的图片闪光效果
Apr 23 HTML / CSS
全方位了解CSS3的Regions扩展
Aug 07 HTML / CSS
通过一张图教会你CSS3倒影的实现
Sep 26 HTML / CSS
CSS3实现莲花绽放的动画效果
Nov 06 HTML / CSS
基于HTML5 audio元素播放声音jQuery小插件
May 11 HTML / CSS
利用HTML5的新特点实现图片文件异步上传
May 29 HTML / CSS
详解HTML5中的Communication API基本使用方法
Jan 29 HTML / CSS
CSS3 天气图标动画效果
Apr 06 HTML / CSS
详解CSS不受控制的position fixed
May 25 HTML / CSS
canvas画图被放大且模糊的解决方法
Aug 11 #HTML / CSS
在html页面中取得session中的值的方法
Aug 11 #HTML / CSS
canvas实现滑动验证的实现示例
Aug 11 #HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
Aug 10 #HTML / CSS
Html5 webview元素定位工具的实现
Aug 07 #HTML / CSS
HTML5 video循环播放多个视频的方法步骤
Aug 06 #HTML / CSS
html5 video全屏播放/自动播放的实现示例
Aug 06 #HTML / CSS
You might like
php 表单验证实现代码
2009/03/10 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP加密解密实例分析
2015/12/25 PHP
PHP中的session安全吗?
2016/01/22 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
理解javascript模块化
2016/03/28 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
原生的强大DOM选择器querySelector介绍
2016/12/21 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
详解windows python3.7安装numpy问题的解决方法
2018/08/13 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
网络研修随笔感言
2014/02/17 职场文书
爱我中华教学反思
2014/04/28 职场文书
教师读书活动总结
2014/05/07 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
中学总务处工作总结
2015/08/12 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
电工生产实习心得体会
2016/01/22 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang