关于防止后退这是一个老生常谈的问题,同时防止后退这个问题在程序的开发中又是不可避免的,经常需要在各种各样的场景中防止用户的后退操作给程序带来的影响。一个典型的案例场景就是一个给产品投票的页面,如果用户在投票之后转到结果页面的时候想回到前一张页面,这时候在前一张页面中保留了以前的投票信息,用户在稍作修改的时候又开始投票,这样的结果就不用说了。
关于防止后退网上有人主张用:
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的安全保护机制。
// 防止后退的情况根据以前的应用程序,一直认为防止后退最简单的方法是在第一张页面中加上如下的脚本代码
<SCRIPT language="JavaScript">
// 通过简单脚本防止用户后退
javascript:window.history.forward(1);
</SCRIPT>
这个的原理是这样的,当用户点击第一张网页提交表单转到第二张网页后,在第二张网页点击后退的时候回到了第一张页面,第一张页面中的脚本脚本又会让用户马上回到第二张页面,这样就可以简单的做到防止后退。
分享到:
相关推荐
要阻止浏览器后退,一种常见的方法是利用JavaScript。这是因为尽管服务器端技术如ASP.NET无法直接控制客户端行为,但可以通过发送JavaScript代码到客户端来实现这一目标。以下是一个简单的JavaScript示例,用于禁用...
本文将详细介绍一种简单的解决方案来避免这种现象的发生,并提供相关的代码示例。 #### 问题分析 当用户点击浏览器的“后退”按钮时,浏览器会尝试从缓存中加载之前访问过的页面。如果该页面包含用户的登录状态...
总结来说,文章分享了一种基于PHP和session会话变量的简单方法来阻止用户通过浏览器后退按钮返回之前访问过的页面。这种方法通过在服务器端动态生成页面内容,并根据用户的访问状态来决定输出哪个页面,从而在逻辑上...
另一种方法是监听浏览器的`popstate`事件,当用户试图通过后退按钮返回时触发特定逻辑。 ```javascript window.addEventListener('popstate', function (event) { // 在这里可以执行阻止后退的操作 history.go(1);...
一种常见的方法是禁止页面缓存。通过在服务器端设置响应头,可以指示浏览器不要缓存页面,如ASP代码所示。这迫使浏览器每次访问页面时都从服务器获取最新内容,而不是使用缓存的版本。例如,设置`Response.Buffer = ...
这种方法是最简单的一种方式,通过调用`window.history.forward()`方法来模拟一次前进操作,从而覆盖掉用户的后退操作。 **代码示例**: ```javascript window.history.forward(1); ``` **原理解析**: - `...
首先,一种常见的方法是禁止页面被浏览器缓存。通过在服务器端设置HTTP响应头,我们可以让浏览器不存储页面内容。在ASP中,可以使用以下代码片段来实现这一功能: ```asp Response.Buffer=True Response....
在移动应用设计中,"滑动后退"是一种常见的交互方式,它为用户提供了一种直观且便捷的返回上一级操作的途径。这个功能最初由天天动听这样的音乐播放应用引入,使得用户在浏览歌曲列表或者进行其他操作时,可以通过...
总的来说,`location.replace`是一种有效的防止用户重复提交的策略,但需要谨慎使用,以平衡功能性和用户体验。在实现时,结合其他验证机制(如服务器端验证、前端表单验证)以及适当的用户提示,可以更全面地保护...
标题中的“行业分类-设备装置-一种脚踏式槟榔芋拔取设备及控制方法”表明,这是一个关于农业机械设备的专题,具体聚焦于一种利用脚踏操作的槟榔芋(又称香芋)挖掘设备,同时涉及到该设备的操作控制系统。...
另一种方法是利用Vuex来存储和恢复页面状态。在进入和离开页面时,通过`commit`操作将数据保存到Vuex的store中,然后在组件创建或激活时从store中恢复。 在组件中: ```javascript created() { this.$store....
以下是一个简单的JavaScript函数,名为`banBackSpace`,它会阻止Backspace键导致的页面后退,但允许在密码框和文本输入框中使用Backspace进行文字删除: ```javascript function banBackSpace(e) { var ev = e || ...
jQuery 提供了一种方式来监听并处理这种行为。本篇将详细介绍如何利用 jQuery 实现这一功能,以及涉及到的事件触发机制。 首先,我们需要理解浏览器的前进/后退历史(history)机制。当用户在网页间导航时,浏览器...
为了解决这些常见问题,一种创新的锅炉内吹灰喷头的制作方法应运而生,其设计理念在于通过巧妙的结构设计,显著提高吹灰效率并防止堵塞。 该新型吹灰喷头的核心特点在于其独特的结构与防尘机制。在喷头的前端设计了...
验证码(CAPTCHA)是一种用于验证用户是否为人类的技术,通常用于防止自动化程序(如机器人)进行恶意活动,如垃圾邮件发送或未经授权的数据抓取。在MyOffice中,验证码可能应用于注册、登录或其他敏感操作,以确保...
没有一种方法能够适用于所有情况,合理地将上述方法组合使用,可以极大地降低重复提交带来的问题。在实际开发中,考虑到用户体验、系统的安全性与稳定性,推荐尽可能地使用多种策略综合防范。同时,开发人员应当对...
《行业资料-交通装置-一种手动液压叉车》 在物流和仓储领域,手动液压叉车,也称为“地牛”或“液压托盘车”,是一种广泛应用的搬运设备。本资料详细介绍了这种设备的设计原理、操作方法以及在实际工作中的应用。 ...
在实际开发中,开发者可以结合具体情况,选择一种或多种方法组合使用,以达到最佳的防止表单重复提交的效果。总的来说,这些方法都能够有效地减少因表单重复提交导致的用户体验问题和系统资源浪费,是PHP项目开发中...
为此,一种名为“喷水可转向推进器”的新型装置应运而生,它不仅能提供更强大的动力输出,还能实现灵活的方向控制,显著提高了水上设备的操作性和安全性。 该推进器的核心技术主要体现在以下几个方面: 首先,喷水...