浏览器关闭提示, 兼容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";
};
}
?
window.onbeforeunload,浏览器关闭提示,兼容IE、FF、Chrome
原文:http://davidhhs.iteye.com/blog/2310543