if(window.name== "current"){
//如果满足这个条件的话就表示页面是后退来的,
alert("后退时会执行");
}else{
window.name= "current";//给页面命名
alert("后退不会执行");
}
上页面这个方法不可行
window.name是给当前的窗口命名的。
但可以小改动,借用java的Token机制的思想。有两种情况,下面还有第三种变态的处理方法
a)在点击后退时给"window.name"设值,如“onclick="window.name='back';history.go(-1);"”;然后再小改动一下上面的方法也行
if(window.name== "back"){
//如果满足这个条件的话就表示页面是后退来的,
window.name=="current";//改变窗口名,方便下次提交时提示,可以执行else的内容
alert("后退时会执行");//正常这里是不写内容,不过,上面的这条一定要写
}else{
//这里面是要正常提示的内容
alert("后退不会执行");
}
这个方法是偷工减料的,方便中途修改(因为搜索“history”就可以找出哪些是后退的)。如果开始做处理的后退还会提示的话,就不建议用户这种方法,因为这种方法无法解决点击浏览器的后退。
b)以下这个方法可以解决点击浏览器的后退。会好很多。原理还是一样
在当前提示的页面的前一个连接中,点击时先给"window.name"设值,如“onclick="window.name='prior';"”然后再小改动一下上面的方法也行
if(window.name== "prior"){
//如果满足这个条件的话就表示页面是“前进”来的,
window.name=="current";//改变窗口名,再前进,再后退时,window.name为current。当前{}里面的内容就不会执行了
//这里面是要正常提示的内容
alert("这是第一次执行的提示");
}else{
alert("这个是后退所会执行的");//正常这里是不写内容,或者直接不写else{}
}
这个方法呢,做时需要走回头路,如果写的时清楚知道要有提示的话,就不用走回头路了。不然做着的时候发现要有提示,那就要回过头补写了。一般情况下是清楚地
c)小弟还想到了一种方法,但这种方法做起来感觉有点别扭
在要提示的页面中写一个隐藏的文本框<input type="hidden" name="globalMessage" id="globalMessage" value="1"/>,注意不要重名
if($("#globalMessage").val()== "1"){
//如果等于默认值就表示页面是“前进”来的
$("#globalMessage").val('0');//改变这个框的值,再前进,再后退时,$("#globalMessage").val()为“0”。当前{}里面的内容就不会执行了
//这里面是要正常提示的内容
alert("这是第一次执行的提示");
}else{
alert("这个是后退所会执行的");//正常这里是不写内容,或者直接不写else{}
}
以上获值是JQ的写法。此方法就要注意先后顺序了。js代码一定要写在后面了,不然的话会找不到ID,测试了一下还行,(部分浏览器不行,如“chrome”)
我个人认为这个方法是最好的了。您想到更好的了吗?欢迎分享(在下分享的是一种思想,其实还有类似的做法)
分享到:
相关推荐
在IT行业中,前端开发经常会遇到页面交互的问题,其中之一就是在用户点击浏览器的后退按钮时,如何优雅地处理这种行为。标题“JQ 页面点击后退弹出提示框”所涉及的知识点,就是如何使用jQuery(简称JQ)库来实现在...
在J2EE框架中,开发过程中常常会遇到一些与用户交互相关的技术问题,如重复提交、重复刷新以及防止用户后退导致的数据不一致。这些问题在实际应用中可能会对系统的稳定性和数据完整性造成影响,因此需要采取相应的...
在Web开发中,用户在提交表单后可能会意外地点击浏览器的刷新或后退按钮,导致数据重复提交,这在数据库操作中可能引起严重问题,比如财务交易的重复扣款或者用户信息的重复录入。针对这个问题,我们可以采取多种...
**重要提示:** 直接屏蔽浏览器的后退按钮并不是一个推荐的做法,因为这会影响到用户体验和浏览器的基本功能。此外,大部分现代浏览器和操作系统都有安全机制来防止此类操作。下面我们将详细介绍原因及其替代方案。 ...
- 在某些情况下,禁用后退键可能会给用户带来不便,因此可以考虑增加提示或者提供其他形式的撤销机制。 - 考虑到不同的浏览器和操作系统之间的差异,还需要进行充分的测试以确保兼容性和稳定性。 #### 五、结语 ...
在JavaScript编程中,有时我们需要禁用浏览器的默认后退功能,比如在用户完成登录、支付等操作后,防止用户意外点击后退按钮导致数据丢失或出现错误状态。本篇文章将详细解析如何通过JavaScript实现这一功能。 首先...
总的来说,这个方法通过利用 jQuery 的事件处理能力和浏览器的 `history` API,实现了在用户点击后退按钮时弹出提示框的功能。如果你需要在用户后退时执行其他操作,可以将 `alert` 替换为你自定义的函数。这个技巧...
- 此外,代码还额外处理了几个按键组合,包括`Ctrl+N`、`Ctrl+R`和`F5`,这些按键通常用于刷新或打开新窗口,被加入到处理逻辑中,进一步强化了对后退功能的控制。 ### 代码优化与扩展 尽管给定的代码片段能够基本...
在JavaScript中禁用浏览器的后退功能是一种常见的需求,特别是在某些特定的应用场景下,比如防止用户意外离开当前页面或者在处理表单提交时避免数据丢失。`history.forward()` 是一个可以实现这一目标的方法,但这种...
这样的处理方式虽然可以解决问题,但可能会引入额外的复杂性,并可能影响用户体验。理想情况下,我们希望在不破坏导航流程的情况下触发`beforeRouteLeave`。然而,Vue Router的当前设计并未提供直接的解决方案。...
对于桌面应用,禁用Backspace的后退功能通常需要深入到应用程序的事件处理机制中。例如,在Windows环境中,可以通过捕获键盘消息并过滤掉特定的虚拟键码(VK_BACK,即Backspace的键码)来实现。这通常需要使用低级...
此外,还可以监听事件,如`play`、`pause`、`ended`等,以实现更复杂的逻辑,如自动播放下一首歌曲或在播放结束时显示提示。 至于界面的动态更新,可以使用CSS和JavaScript配合实现,例如通过改变按钮样式反映播放/...
开发者可以为这个事件注册一个处理函数,该函数可以返回一个字符串,浏览器会显示这个字符串作为提示信息。 ```javascript window.onbeforeunload = function() { return '您确定要离开此页面吗?'; }; ``` 2. **...
首先,`three.js`是一个基于WebGL的JavaScript 3D库,它允许开发者在浏览器中创建复杂的3D图形和交互式虚拟环境。在全景图场景中,three.js负责渲染和管理3D场景、物体、光照等元素。通过设置相机视角和坐标,可以...
10. **页面导航篇**:此部分可能包含利用JavaScript控制页面跳转、实现无刷新更新(AJAX)、前进/后退按钮的处理,以及历史记录管理。 11. **页面搜索篇**:在页面内实现搜索功能,包括关键字高亮、搜索结果筛选、...
JavaScript中的`window`对象是浏览器环境中全局对象的基石,它代表了浏览器的一个窗口。这个对象提供了许多用于控制和访问浏览器窗口的功能,包括交互、导航、定时以及与其他Web API的集成。在JavaScript中,几乎...
在Vue.js应用开发中,确保用户在编辑数据时不会因为误操作导致数据丢失是一个重要的问题。本篇文章主要探讨了两种防止数据丢失的方法,并详细讲解了如何在Vue.js中实现这两个功能。 首先,一种方法是在用户刷新或回...
在提供的文件内容中,主要涉及了JavaScript在处理网页窗口、表单、提示框以及导航方面的一些常见操作。下面将详细阐述这些知识点: 1. **文档对象模型(DOM)**: - `document` 对象代表整个HTML或XML文档,可以...