`

防止后退

    博客分类:
  • web
阅读更多

关于防止后退这是一个老生常谈的问题,同时防止后退这个问题在程序的开发中又是不可避免的,经常需要在各种各样的场景中防止用户的后退操作给程序带来的影响。一个典型的案例场景就是一个给产品投票的页面,如果用户在投票之后转到结果页面的时候想回到前一张页面,这时候在前一张页面中保留了以前的投票信息,用户在稍作修改的时候又开始投票,这样的结果就不用说了。

  关于防止后退网上有人主张用:

location.replace() 方法:

// 防止后退的情况

<a href="Javascript:location.replace('http://iteye.com')">javaeye<a>

// 通过replace防止后退的代码
<a href="#" onclick="location.replace('http://iteye.com'')">javaeye<a>

 

replace () 方法,该方法通过指定URL 替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL, 防止后退。


在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"的时候,会出现网页过期的提示。那是因为Session的安全保护机制。

 

// 防止后退的情况根据以前的应用程序,一直认为防止后退最简单的方法是在第一张页面中加上如下的脚本代码

Java代码 复制代码
  1. <SCRIPT language="JavaScript">   
  2.      // 通过简单脚本防止用户后退   
  3.      javascript:window.history.forward(1);   
  4. </SCRIPT>  
<SCRIPT language="JavaScript">
     // 通过简单脚本防止用户后退
     javascript:window.history.forward(1);
</SCRIPT>

 这个的原理是这样的,当用户点击第一张网页提交表单转到第二张网页后,在第二张网页点击后退的时候回到了第一张页面,第一张页面中的脚本脚本又会让用户马上回到第二张页面,这样就可以简单的做到防止后退。

分享到:
评论

相关推荐

    J2EE框架-重复提交、重复刷新、防止后退的问题以及处理方式

    - 使用HTTP的303 See Other响应,或者在服务器返回的页面中设置`Cache-Control`和`Pragma`头,禁止浏览器缓存页面,以防止用户后退到已处理过的页面。 2. **服务器端处理** - **STRUTS框架处理** - Struts框架...

    在vue中阻止浏览器后退的实例

    然而,在使用SPA时,一个常见的问题是如何处理浏览器的后退按钮。在传统的多页面应用(MPA)中,用户可以自由地在各个页面之间前进和后退。但在SPA中,由于只有一个页面,所以管理历史记录的方式略有不同。 首先,...

    js禁止浏览器页面后退功能的实例(推荐)

    事件处理函数再次调用`pushState`,这相当于用户每次点击后退,都会被重定向回当前页面,从而达到禁止后退的效果。 需要注意的是,这种做法可能会对用户体验造成负面影响,因为它阻止了用户正常地使用浏览器的后退...

    页面禁止各种浏览器后退.txt

    // 将浏览器的浏览位置向前推进一步,防止再次后退 window.history.forward(1); }); } // 如果浏览器支持pushState if ('pushState' in history) { // 添加一个新的历史记录,并向前推进一步 window....

    禁用backspace键的后退

    这段代码会监听键盘事件,当检测到Backspace键被按下时,如果当前焦点不在输入框或文本区域,就阻止这个事件的默认行为,即禁止后退。这样,用户仍然可以在输入框中使用Backspace删除文本,但无法通过Backspace键...

    php阻止页面后退的方法分享

    在互联网应用中,为了防止用户在完成某些操作后通过浏览器的后退按钮返回到先前的安全性较低或已处理过的页面,PHP提供了一系列的方法来阻止页面后退。本篇文章将分享几种在PHP中实现阻止页面后退的技术方法。 首先...

    防止刷新后退重复提交

    针对这个问题,我们可以采取多种策略来防止刷新后退时的重复提交。以下是针对"防止刷新后退重复提交"这一主题的详细知识点: 1. **令牌(Token)技术**: 服务器在处理表单提交前,生成一个唯一的令牌(Token),...

    屏蔽退格键后退网页功能

    当我们在jsp上有个只读文本框的时候,用户在文本框内点击BackSpace会后退网页,此js直接引用到jsp内就可以屏蔽退格键后退网页的功能,删除功能还在。经测试,谷歌,IE都可以用。

    javascript下阻止表单重复提交、防刷新、防后退

    JavaScript 防止表单重复提交、防刷新、防后退解决方案 在 Web 开发中,防止表单重复提交、防刷新、防后退是非常重要的,否则可能会导致数据的不一致和安全问题。本文将介绍服务器端和客户端两种解决方案。 服务器...

    Vue 禁用浏览器的前进后退操作

    首先,禁用浏览器的前进后退功能在某些场景下可能是必要的,比如在用户进行了一些不可逆的操作后,防止他们意外地通过历史记录回到错误的状态。通常,开发者会利用`history.pushState()`和监听`popstate`事件来实现...

    ASP.NET屏蔽浏览器后退

    在ASP.NET开发中,有时我们需要控制用户的行为,例如防止他们使用浏览器的“后退”按钮回到之前的状态。这种需求可能出于各种原因,如保持数据一致性、保护敏感信息或避免重复提交。标题“ASP.NET屏蔽浏览器后退”所...

    JavaWeb页面中防止点击Backspace网页后退情况

    // 禁止后退键 作用于Firefox、Opera document.onkeypress = banBackSpace; // 禁止后退键 作用于IE、Chrome document.onkeydown = banBackSpace; ``` 在这个函数中,我们首先检查了事件的类型(`t`),然后检查了...

    如何禁止浏览器使用后退按钮功能

    如果用户浏览器设置禁用了Cookie,则会话变量可能无法正常工作,这也会使得间接禁止后退按钮的方法失效。 还有一个方法是通过客户端代码,在HTML页面的部分使用标签来控制缓存。例如,可以设置以下标签: ...

    屏蔽浏览器的后退按钮

    ### 屏蔽浏览器的后退按钮 在网页开发过程中,有时会遇到用户需求或特定应用场景,需要阻止浏览器的后退按钮功能。这篇文章旨在探讨如何实现这一功能,并解释为什么这种做法可能不是最佳选择。 #### 为什么要屏蔽...

    javascript怎么禁用浏览器后退按钮

    这种做法的原理是通过抵消后退操作来达到禁止后退按钮的效果。不过这种方法的缺点是,如果用户禁用了JavaScript,那么这个操作将不会生效。 2. 使用`location.replace()`方法 另一种方法是使用`location.replace()`...

    全面考察“禁用浏览器后退按钮”

    浏览器的后退按钮是用户导航历史记录的重要工具,然而在某些特定场景下,开发者可能希望禁用或限制其功能,以防止用户意外打乱预定的页面流程,比如在线表单的提交过程。本文探讨了多种禁用或管理浏览器后退按钮的...

    JQ 页面点击后退弹出提示框

    在IT行业中,前端开发经常会遇到页面交互的问题,其中之一就是在用户点击浏览器的后退按钮时,...这样的功能对于那些需要用户确认操作的场景非常有用,比如防止意外的数据丢失或避免用户在未完成某项操作时离开页面。

    退出登录后点击后退问题解决方案

    2. **使用JavaScript阻止后退**:接下来,在前端页面中加入一段JavaScript代码,用于在用户退出登录时执行特定操作,防止用户通过后退按钮回到之前的页面。 下面是一段示例代码,展示了如何使用JavaScript来实现这...

Global site tag (gtag.js) - Google Analytics