前不久做项目时,遇到一个关于“监控离开页面时弹出特有样式框的问题”,在摸索了很久,总是不是那么完美,火狐下都是不那么满意。
以下是我在网上找到算是较为满意的代码:
<!==========================
var blnCheckUnload = true;
window.onbeforeunload = function() {
if(blnCheckUnload) {
{.............调用弹框样式...........}
return("Are You Sure?");
}
};
$(function(){
$('.close-bg-png-win2').click(function(){
{.............关闭弹框样式...........}
});
});
function closewin(){
var browserName=navigator.appName;
if (browserName=="Netscape") {
var opened=window.open('about:blank','_self');
opened.opener=null;
opened.close();
} else if(browserName=="Microsoft Internet Explorer") {
window.opener=null;
window.open('','_self');
window.close();
}
}
//==========================>
这个代码在其他浏览器很管用,但是火狐下总是要刷新一下页面才生效,这一点老是没能解决()。
在项目上加上以前代码后,离开页面时弹出提示是解决了,但是在点一下步按钮进入新页面时也会触发弹出警告窗口,在公司找了很久没能到找到很好的解决方法,后来回家找到了不错的代码,只是在家里电脑上调试了一下,就把文件存家里电脑了。
今天想在公司完善项目中的这个功能,可惜代码忘拷过来了,更不记得当时在网上哪找到的,十分郁闷.......
所以告诫自己,以后找到好代码一个要保存到网上!
===========解决方法
解决方法就是更新 blnCheckUnload的值,在要不弹出警告框的元素上加上样式cancelMonito
$('.cancelMonitor').click(function(){
blnCheckUnload = false;
});