最近在一个网页上需要监视用户是否点击关闭窗口的动作,在网上查了个遍,总结一下:
1. 利用window.onbeforeunload()和window.onunload()事件,但是在关闭当前窗口,跳转到其它窗口,刷新窗口,回退/前进,回主页的操作时都会触发该动作:
<script type="text/javascript">
<!--
window.onbeforeunload = onbeforeunload_handler;
window.onunload = onunload_handler;
function onbeforeunload_handler(){
var warning="确认退出?";
return warning;
}
function onunload_handler(){
var warning="谢谢光临";
alert(warning);
}
// -->
</script>
2. 判断是否点击窗口右上角叉号,区分是否为关闭窗口还是刷新窗口:
window.onbeforeunload = function() //author: meizz
{
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey){
alert("是关闭而非刷新");
window.event.returnValue = ""; //这里可以放置你想做的操作代码
}else{
alert("是刷新而非关闭");
}
但是这两种方法都无法解决目前IE7以上和FF中的多标签浏览时,标签关闭的监视。搜寻了很久,也还是无解
分享到:
相关推荐
浏览器是客户端,客户端的操作服务器是监听不到的,所以可以用js来监听,js代码监听浏览器关闭或者刷新
js实现监听浏览器关闭和刷新事件支持三大浏览器,点击直接看效果
### JS监听关闭浏览器事件 在Web开发中,有时我们需要对用户关闭浏览器窗口或标签页的行为进行监测,并在这些行为发生前执行某些操作。这通常涉及到`onbeforeunload`和`onunload`这两个事件处理程序。 #### 1. `...
在JavaScript中,监听浏览器窗口关闭事件对于实现特定的用户交互或数据保存功能至关重要。下面将详细介绍几种常用的浏览器关闭事件监听方法。 1. 方式一:适用于IE浏览器,仅在关闭时提示 ```javascript window....
在Web开发中,区分浏览器页面是刷新还是关闭的需求非常常见,这主要是为了优化用户体验和保证系统的操作逻辑。传统的做法是使用BOM(Browser Object Model)事件中的onbeforeunload事件,该事件会在页面即将卸载前...
js关闭浏览器窗口 js关闭浏览器窗口,不弹出提示框。支持ie6+,火狐,谷歌等浏览器。 代码如下: <html> <head /> <body> [removed] function closeWin(){ window.opener=null; window.open(”,’_...
在JavaScript中,对浏览器窗口关闭事件的监听是开发者经常需要用到的功能,这可以帮助我们在用户离开页面时执行一些必要的操作,比如保存数据、清理资源或者显示确认提示。本文将深入探讨两个关键的JavaScript事件:...
要实现这个需求,我们需要使用JavaScript来监听窗口的关闭事件。在JavaScript中,可以使用window对象的onunload或onbeforeunload事件来检测窗口即将关闭的动作。尽管这两个事件在技术上是用于在窗口卸载前执行清理...
在Flex应用中监听浏览器关闭事件主要依赖于JavaScript与Flash/Flex之间的交互。当用户尝试关闭浏览器窗口时,`window.onbeforeunload`事件会被触发。我们可以通过在Flex应用中调用JavaScript来监听这个事件,并在...
为此,JavaScript 提供了 `onunload` 事件,它会在浏览器窗口被关闭或者用户离开当前页面时触发。然而,在实际的应用场景中,我们可能会遇到一个棘手的问题:不论是刷新页面还是真正关闭窗口,`onunload` 事件都会被...
监听浏览器关闭事件主要通过`onbeforeunload`事件实现。此事件在浏览器窗口即将关闭时触发。需要注意的是,不同浏览器对此事件的支持程度和行为有所不同。 ```javascript window.onbeforeunload = function() { if...
在HTML和JavaScript中,有三个关键的事件可以用来监听浏览器窗口的状态变化:`onload`、`onunload`、以及`onbeforeunload`。其中: 1. `onload`事件发生在页面加载完成后。 2. `onunload`事件发生在浏览器窗口即将...
然而,在使用SPA时,一个常见的问题是如何处理浏览器的后退按钮。在传统的多页面应用(MPA)中,用户可以自由地在各个页面之间前进和后退。但在SPA中,由于只有一个页面,所以管理历史记录的方式略有不同。 首先,...
在Vue.js应用中,有时我们需要监听窗口的关闭和刷新事件,以便执行某些操作,比如保存用户数据或确认离开页面。本文将详细介绍两种在Vue.js中实现这一目标的方法。 首先,我们来了解一下`window.onbeforeunload`...
问题描述1: 微信开发的时候,在公众号菜单中打开一个H5页面(如:个人中心),在这个页面上的一些操作,经过多次跳转后,点击左上角的返回按钮,发现会原封不动的返回至上一级页面。 即 公众号菜单->A->B->C,点击...
### 如何用JavaScript判断浏览器是刷新还是关闭 在Web开发中,有时候我们需要了解用户是通过刷新页面还是直接关闭浏览器来离开当前网页。虽然JavaScript本身并没有提供直接的方法来区分这两种行为,但可以通过监听...
为此,我们可以借助JavaScript的history对象来监听浏览器的回退事件,并相应地强制刷新页面或者执行其他自定义逻辑。 在这篇文章中,我们看到了如何使用pushState方法来监听浏览器的回退事件。pushState是HTML5提供...
在JavaScript中,有几种方法可以用来监听浏览器关闭事件: 1. **`window.onbeforeunload`**:此事件会在浏览器窗口或标签页关闭之前被触发。 2. **`window.onunload`**:该事件在文档完全卸载之后被触发,但是它的...