`

window.onbeforeunload,浏览器关闭提示,兼容IE、FF、Chrome

阅读更多

浏览器关闭提示, 兼容IE、FF、Chrome,其它浏览器可以扩展, 这里只对<a>标签做特别处理,因为 onbeforeunload事件点击a连接弹框、刷新等很多操作都会触发此事件,可能还有其它的情况也会触发,参考这里的逻辑在进行修改,

 

//页面离开或者浏览器关闭的时候给予提示 防止用户误操作 离开当前页面未保存数据可能丢失
window.onbeforeunload = function(event) {
	return beforunload(event);
};
function beforunload(event) {
	event = event ? event : (window.event ? window.event : null);
	var myIE = myBrowser();
	if (myIE=="IE") { // IE
		var cy = event.clientY || event.target.event.clientY;
		var ak = event.altKey || event.target.event.altKey;
		if (cy < 0 || ak) {
			return "确定要离开本页面吗?";
		}
	} else {
		// Firefox、Chrome
		var nodeName = event.currentTarget.document.activeElement.nodeName;
		if (nodeName!="A") {
			return "确定要离开本页面吗?";
		}
	}
}

/***
 * 获取当前浏览器类型
 */
function myBrowser() {
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1;
    if (isOpera) { //判断是否Opera浏览器
        return "Opera"
    };
    if (userAgent.indexOf("Firefox") > -1) { //判断是否Firefox浏览器
        return "FF";
    };
    if (userAgent.indexOf("Chrome") > -1){
		return "Chrome";
	};
    if (userAgent.indexOf("Safari") > -1) { //判断是否Safari浏览器
        return "Safari";
    };
    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) { //判断是否IE浏览器
        return "IE";
    };
}

 

1
0
分享到:
评论

相关推荐

    JS针对浏览器窗口关闭事件的监听方法集锦

    1. 方式一:适用于IE浏览器,仅在关闭时提示 ```javascript window.onbeforeunload = onclose; function onclose() { if (event.clientX &gt; document.body.clientWidth && event.clientY || event.altKey) { return...

    onunload事件判断浏览器是刷新还是关闭窗口

    当浏览器退出时会触发 onunload 事件,因此我们可以使用 onunload 事件做一些在页面关闭时要执行的操作,如提示用户信息等。 但是,在实际应用中我们都发现一个问题,刷新浏览器同样会触发 onunload 事件,也就是...

    vuejs中监听窗口关闭和窗口刷新事件的方法

    一些浏览器,例如Chrome、Safari和Firefox(4+版本),在设置`e.returnValue`时会显示提示信息,而IE9+则可以直接返回字符串信息作为提示。 3. 使用window.onunload事件 `window.onunload`事件与`window....

    javaScript 关闭浏览器 (不弹出提示框)

    如果网页不是通过脚本程序打开的(window.open()),调用window.close()脚本关闭窗口前,必须先将window.opener对象置为null,否则浏览器(IE7、IE8)会弹出一个确定关闭的对话框。

    基于JavaScript判断浏览器到底是关闭还是刷新(超准确)

    本文是小编总结的一些核心内容,个人感觉对大家有所帮助,具体内容请看下文: ...//页面关闭时,先onbeforeunload事件,再onunload事件。 //对于火狐: //页面刷新时,只执行onunload;页面关闭时,

    JS监听关闭浏览器事件

    ### JS监听关闭浏览器事件 在Web开发中,有时我们需要对用户关闭浏览器窗口或标签页的行为进行监测,并在这些行为发生前执行某些操作。这通常涉及到`onbeforeunload`和`onunload`这两个事件处理程序。 #### 1. `...

    Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求

    通过上述代码,当组件的路由名称为 "dyyPerformanceCenterSale" 时,浏览器会显示自定义的关闭提示。如果路由名称不是这个,我们移除 `onbeforeunload` 事件监听器。 ### 结语 实现Vue监听窗口关闭事件,并在关闭...

    用JS判断浏览器刷新还是关闭

    ### 如何用JavaScript判断浏览器是刷新还是关闭 在Web开发中,有时候我们需要了解用户是通过刷新页面还是直接关闭浏览器来离开当前网页。虽然JavaScript本身并没有提供直接的方法来区分这两种行为,但可以通过监听...

    flex监听浏览器关闭事件

    当用户尝试关闭浏览器窗口时,`window.onbeforeunload`事件会被触发。我们可以通过在Flex应用中调用JavaScript来监听这个事件,并在必要时显示一个警告框或执行其他逻辑。 #### 2. 实现步骤 ##### 2.1 JavaScript...

    js窗口关闭提示信息(兼容IE和firefox)

    需要注意的是,早期的IE浏览器(IE 9以下版本)与Firefox、Chrome等现代浏览器在实现window.onbeforeunload事件时有所不同。为了兼容旧版IE浏览器,可以采用以下方式: ```javascript window.onbeforeunload = ...

    JavaScript 关于浏览窗口不关闭的问题

    此外,压缩包中的文件"JavaScript 不提示关闭窗口代码ie6-ie7-火狐通用_Web开发_网站设计_烈火网_关注站长,建设互联网!.mht"很可能包含了一个具体的示例,演示了如何编写一个适用于IE6-IE7以及火狐的兼容性代码。...

    捕捉IFrame SRC改变事件

    一种常见的方法是利用`window.onbeforeunload`事件。这个事件会在浏览器窗口、标签页或框架即将卸载前触发。它通常用于警告用户他们正在进行的操作可能会导致数据丢失,但在这里我们可以利用它来监测`&lt;iframe&gt;`中...

    JS监听关闭浏览器事件之Onunload与Onbeforeunload

    在JavaScript中,对浏览器窗口关闭事件的监听是开发者经常需要用到的功能,这可以帮助我们在用户离开页面时执行一些必要的操作,比如保存数据、清理资源或者显示确认提示。本文将深入探讨两个关键的JavaScript事件:...

    js 页面关闭前的出现提示的实现代码.docx

    本文将详细介绍如何利用JavaScript来实现在页面关闭前显示提示信息的功能,并探讨不同浏览器之间的兼容性问题。 #### 二、基本实现方法 ##### 2.1 使用 `onbeforeunload` 事件 `onbeforeunload` 是一个非常有用的...

    判断浏览器是刷新还是关闭窗口

    ### 判断浏览器是刷新还是关闭窗口 在网页开发过程中,我们常常希望能在用户退出或离开当前页面时执行一些特定的操作,比如保存用户的状态、显示一个警告框等。为此,JavaScript 提供了 `onunload` 事件,它会在...

    如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”

    Chrome 浏览器提供了 `onbeforeunload` 事件,使得开发者可以在用户尝试关闭浏览器窗口或离开页面时弹出一个确认对话框。本文将详细介绍如何在Chrome中实现这一功能,并探讨与之相关的技术细节。 首先,我们需要...

    解决手机浏览器点击后退页面刷新问题,兼容苹果 safari浏览器和安卓浏览器

    解决手机浏览器点击后退页面刷新问题,兼容苹果 safari浏览器和安卓浏览器。 js的window.onbeforeunload,onunload,window.addEventListener(‘pagehide‘, () => {}手机浏览器不生效

    关闭浏览器窗口弹出提示框并且可以控制其失效

    `window.onbeforeunload`是浏览器提供的一种机制,当页面即将卸载(如关闭窗口、导航到其他页面)时,会触发这个事件。开发者可以为这个事件绑定一个函数,该函数的返回值会被用来作为提示用户的信息。下面是一个...

Global site tag (gtag.js) - Google Analytics