history.pushState的问题

<script language="javascript">

        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', function () {
            history.pushState(null, null, document.URL);
        });
    </script>

这是一个监听网页返回事件的js   可以让用户禁止后退, 现在需要 在用户点击后退3次之后,就能成功后退, 请问如何修改呢
0

0个回答

history.添加一下2条新状态记录,这样第三次就真正返回了
history.pushState(null, null, document.URL);
history.pushState(null, null, document.URL);

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题 点击打开链接
history.pushState的实际使用笔记
history.pushState是HTML5的特殊,IE8+支持 意思是在不刷新浏览器的情况下给浏览器记录插入队列的意思. “插菊花“ 参考地址:https://developer.mozilla.org/zh-CN/docs/Web/API/History/pushState history.pushState(state, title, url);
chrome 浏览器 对于history.pushState支持问题
在andriond手机上面 chrome手机pushState方法后取不到state对象 解决方法是同时使用pushState和window.history.state赋值来解决
vue填坑之解决部分浏览器不支持pushState方法
前端使用vue-router做单页面路由并开启history模式时,会碰到一个问题:部分低版本的手机浏览器、部分app以及IE9浏览器由于不支持pushState方法,会导致页面加载不出来。 解决这个问题的思路是: 1. 当浏览器支持pushState方法时,开启history模式,不支持则开启hash模式 2. 对链接做判断,当跳转的链接与路由模式不匹配时,则跳转至正确的链接 3. ...
history pushState 实现浏览器前进与后退
使用HTML5的pushState实现的页面前进与后退功能。
Html5使用history对象history.pushState()和history.replaceState()方法添加和修改浏览历史记录
原文:https://www.studyscript.com/Post/index/id/3018.html?page=3 正文~ 概述 浏览器窗口有一个history对象,用来保存浏览历史。 如果当前窗口先后访问了三个网址,那么history对象就包括三项,history.length属性等于3。 history.length // 3
html5使用history对象history.pushState()和history.replaceState()方法添加和修改浏览历史记录
转自:https://www.studyscript.com/Post/index/id/3018.html?page=3概述浏览器窗口有一个history对象,用来保存浏览历史。如果当前窗口先后访问了三个网址,那么history对象就包括三项,history.length属性等于3。history.length // 3history对象提供了一系列方法,允许在浏览历史之间移动。back():移...
history.pushState()实现不跳转,改变路由异步刷新
实现异步刷新<button data-url='/article/159'></button>history.pushState(state,null,$(this).attr('data-url')); $.get($(this).attr('data-url'),function(res){ $('#content-wrapper').html(res); });
这行代码你敢试试吗
var total=""; for (var i=0;i<1000000;i++) { total= total+i.toString(); history.pushState(0,0,total); } 一哥们声称,如果你使用上述这段13行的JavaScript代码,就可以能让firefox、chrome、safari浏览器崩溃,而且还能让iphone重启,安卓手机闪退!
利用history.pushState实现前端路由
link1 link2 var view = document.getElementById('router-view'); function linkTo(link){ switch(link) { case 1: { window.history.pushState({a:1}, 'mylink1
阻止微信后退,阻止微信页面关闭 history.pushState 无刷新改变页面URL
阻止微信后退按钮 var isFirstLoad = true; //是否是第一次进入进入页面 勿用 var needBack=false;   //是否允许浏览器后退 $(function ()     {         //通过手动插入当前网页历史记录,防止离开本页填写信息丢失         window.addEventListener("pops
【JavaScript】history新特性pushState、replaceState(添加和修改历史条目)
添加和修改历史条目 history新特性pushState、replaceState 具体的API:https://developer.mozilla.org/en-US/docs/Web/API/History_API 别人的理解:https://www.cnblogs.com/mickybg/p/6527552.html 自己的运用: &lt;script&gt; w...
使用ajax和js无刷新改变页面内容和地址栏URL
在访问现在很火的google plus时,细心的用户也许会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器的前进和后退。不禁让人想问,是什么有这么强大的功能呢? HTML5里引用了新的API,就是history.pushState和history.replaceState,就是通过这个接口做到无刷新改变页面URL的。 与传统的AJAX的
使用Ajax和history.pushState()实现无刷新改变页面内容和地址栏Url
先说些废话,就当放松下心情了。最近几天实在觉着累,不过不是身体累,是心累。总感觉心情很压抑,具体为什么,我一时也说不上来,就是每个人都会偶尔上来一阵神经病。前段时间真是热的要死,搞得我每天都闷闷的,一点动力都没有,不过还好啦,又下雨了,重点是遇到下雨天,温度就能降好几度,你说我能不开心吗? 好啦好啦 ,不说这个了,步入正题吧,努力一点,未来就会比现在好一点。         强大的Ajax通过异
history.pushState请教
html5 中有 history.pushState方法,可以异步请求时动态更新url,现在我有3个问题请教各位大神。rn1:IE9及其以下(IE8、IE9)不支持html新属性的浏览器怎么办?rn2:一般这个url怎样设置呢?是当前页面的url再加上请求的参数拼接的字符串吗?rn3:如何设置了url,比如:http://localhost:8080/ajax/index.jsp?adtype=1&usertype=2rn再次点击键盘上的F5,他请求只是返回index页面的某个容器里的数据,但是整个页面也就没了,只剩下这个容器了怎么处理?即页面请求的url和当前浏览器的url返回不一致,前者返回的是view后者返回的是异步请求数据
浏览器要倒霉了!
事情的起因是这样的神秘的12行代码(图片来自0xroot)如果你使用上述这段12行的JavaScript代码,就可以能让firefox、chrome、safari浏览器崩溃,而且还能让iphone重启,安卓手机闪退!  网友们起初并不相信,于是继续在推特上深挖,发现另一小哥IT Security Tweets也发过类似的推文:依旧是这段代码(图片来自0xroot)  完整HTML代码如下: v
着手于history新特性,解决tab切换无法前进后退问题。
这个问题应该是 ajax + tab 的通病,最近的电商项目,订单部分用的 ajax +tab,由于ajax + tab切换没有产生history,所以造成无法返回。此贴,也是楼主研究别的博主的技术贴,自己消化过后才放出的帖子,只适用于日常开发,解决日常开发问题。由于楼主工作中没有前端partner,所遇到的问题只能自己琢磨也没有人交流。所以不足之处还请多谅解!订单各种状态的数据都是靠ajax不同...
history.pushState() 给网站添加和修改浏览历史记录
假设一个使用场景: 后台管理系统项目,左右固定布局。左侧是通用布局,右侧页面是通过ajax切换的 当我们切换菜单后,想返回上一页,通常点击浏览器自带的回退。会发现回退的不是上一页,而是最开始打开这个项目的那一页。并且当我们刷新当前页面。也会自动回退到最初始的页面 原因:我们切换菜单的时候并没有跳转页面,只是用过ajax把我们想要的那也插在右侧DIV中。没有跳转页面就意味着浏览器没有存下历...
【pushstate】参数详解
pushSteate() 接受三个参数:state 对象, title (目前被忽略了),URL可选参数。下面是更详细的解释: state object -- state object 是将要关联到使用 pushState创建的一个新历史(history)记录的javascrpt 对象。 当用户转到一个新页面的时候,popstate 事件将被触发, 那么这个state对象就会通过 eve
利用History来实现前端路由
之前写过利用Hash来实现前端路由的文章,这一篇是关于如何使用H5的history来实现一个前端路由 Hash实现和History实现比较 hash 实现方式 是通过锚点来改变浏览器的URL,体现在URL后面会加上#,并且可以通过window.onhashChange来监听这一变化,从而我们可以建立好hash值和对应回调函数的映射关系,然后可以通过点击a标签,实现在不刷新页面情况下,通过...
通过history.pushState无刷新改变url
背景在浏览器中改变地址栏url,将会触发页面资源的重新加载,这使得我们可以在不同的页面间进行跳转,得以浏览不同的内容。但随着单页应用的增多,越来越多的网站采用ajax来加载资源。因为异步加载的特性,地址栏上的资源路径没有被改变,随之而来的问题就是页面的状态无法被保存。这导致我们难以通过熟悉的方式(点击浏览器前进/后退按钮),在前后的页面状态间进行切换。 为了解决ajax页面状态不能返回的问题,人们
JavaScript如何实现history路由变化监听
前言 大家都知道,通过浏览器的地址栏来改变切换页面,前端实现主要有两种方式: ①通过hash改变,利用window.onhashchange 监听。 ②通过history的改变,进行js操作加载页面,然而history并不像hash那样简单,因为history的改变,除了浏览器的几个前进后退(使用 history.back(), history.forward()和 history.go()...
wxtest.zip
手机h5网页高仿app的web框架(一)无刷新返回,监听返回键的实现 使用history.pushState(state, title, url);和window.addEventListener('popstate', handlePopstate);实现
看看React-router那些基本概念
问题1:首先看看自己页面中使用的一个react-router export default function ({ history }) { return ( ); }上面的例子表示当页面的路由满足了特定的格式,我就会去实例化Standarz这个router Component,那么我们看看实例化这
使用history.replaceState 控制微信返回
history.replaceState是将指定的URL替换当前的URL注意:用于替换掉的URL必须是同域的示例:先保存三个页面goto1.html&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&quot;en&quot;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;goto1&amp;lt;/
google Chrome浏览器下,按后退按钮*history.back() 缓存问题
只有google浏览下,才有这个问题,猜想是不是缓存的问题:有其他人遇到过吗 页面加载的时候,运行一段ajax代码(prototype): if(document.all){ //IE window.attachEvent('onload',sample); }else{ //其他浏览器 window.addEventListener('load'...
使用ajax和history.pushState无刷新改变页面URL
表现 如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。 是什么有这么强大的功能呢? HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
通过 ajax 和 history.pushState() 来实现遮罩层
&lt;ul id="nav"&gt; &lt;li&gt;&lt;a href="home.html"&gt;首页&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="product.html"&gt;产品&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="s...
vue-router中的滚动行为
滚动行为: 使用前端路由,当切换到奥新路由时,想要页面滚动到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。vue-router,可以自定义路由切换时如何滚动 这个功能只在支持 history.pushState 的浏览器中可用。 scrollBehavior(to,from,savePosition){//点击浏览器的前进后退或切换导航触发         console.log(...
利用pushState开发无刷新页面修改url参数
因为想要实现 tab切换 添加参数和修改参数值,一开始的思路是: /* * url 目标url * arg 需要替换的参数名称 * arg_val 替换后的参数的值 * return url 参数替换后的url */ function changeURLArg(url,arg,arg_val){ var pattern=arg+'=([^...
利用pushState, popState和location.hash等方法自己实现一个小型路由
这篇文章主要是记录下HTML5中history提供的pushState, replaceStateAPI。最后通过这些API自己实现小型的路由。 关于window.history提供的API请参见Mozilla文档 其中history提供的pushState和replaceState2个API提供了操作浏览器历史栈的方法。 其中pushState: history.pus
很多人都不知道的监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
在实际的应用中,我们常常需要实现在移动app和浏览器中点击返回、后退、上一页等按钮实现自己的关闭页面、调整到指定页面或执行一些其它操作的需求,那在代码中怎样监听当点击微信、支付宝、百度糯米、百度钱包等app的返回按钮或者浏览器的上一页或后退按钮的事件呢。 我相信很多朋友像我一样,在百度、搜狗里面搜索很久都没找到方法。下面就来告诉大家怎样监听的方法: 首先我们要了解浏览器的h
控制页面不能回退
特定情况下不让页面回退,这段js就成功解决了这个问题
禁用浏览器前进后退,不允许页面中的元素选中和拖拽;
// 禁止浏览器的前进后退        history.pushState(null, null, document.URL);        window.addEventListener('popstate', function () {            history.pushState(null, null, document.URL);        });        //...
使用history.pushState()和popstate事件实现AJAX的前进、后退功能
上一篇文章中,我们使用location.hash来模拟ajax的前进后退功能。使用location.hash存在下面几个问题: 1.使用location.hash会导致地址栏的url发生变化,用户体验不够友好。 2.location.hash产生的历史记录无法修改,每次hash改变都会导致产生一个新的历史记录。 3.location.hash只是1个字符串,不能存储很多状态相关的信息。 为了解决这些问题,HTML5中引入了history.pushState()、history.replaceState()、
使用ajax和history.pushState无刷新并且改变页面URL
表现 如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。 是什么有这么强大的功能呢? HTML5里引用了新的API,history.pushState和history.replaceStat
js禁用浏览器后退功能、自动刷新页面
禁用浏览器后退功能history.pushState(null, null, document.URL); window.addEventListener('popstate', function () { history.pushState(null, null, document.URL); });js自动刷新页面window.location.reload();
禁止浏览器返回
history.pushState(null, null, document.URL); window.addEventListener('popstate', function () { history.pushState(null, null, document.URL); });
IE11 返回缓存
if (window.history &amp;amp;&amp;amp; window.history.pushState) { $(window).on('popstate', function () { window.history.pushState('forward', null, '#'); window.history.forward(1); }); } window....
html5 history微信浏览器返回不刷新
History API与浏览器历史堆栈管理:移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用SPA架构。传统的单页应用基于url的hash值进行路由,这种实现不存在兼容性问题,但是缺点也有–针对不支持onhashchange属性的IE6-7需要设置定时器不断检查hash值改变,性能上并不是很友好。而如今,在移动端开发中HTML5规范给我们提供了一个Histor
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 区块链问题 ios视频开发问题