javascript关闭页面时提示是否真的关闭,浏览器兼容

就是在你关闭页面的时候,提示一句是否真的关闭,如果确定就关闭,如果取消就继续留在本页面。现在的代码是<scripttype="text/javascript">windo... 就是在你关闭页面的时候,提示一句是否真的关闭,如果确定就关闭,如果取消就继续留在本页面。

现在的代码是

<script type="text/javascript">
window.onbeforeunload = function(evt){
if (typeof evt == 'undefined') {
myEvent = window.event;
} else {
myEvent = evt;
}
if(myEvent.clientY < 0 || myEvent.altKey)
{
return '是否真的关闭?';
}
}
</script>

这个在ie中没问题,但是在firefox和chrome中,myEvent.clientY的值都是undefined.

我已经加入
if (typeof evt == 'undefined') {
myEvent = window.event;
} else {
myEvent = evt;
}
来使浏览器兼容,但是没有成功,请高手帮忙。

加入if(myEvent.clientY < 0 || myEvent.altKey) 这句是为了防止刷新页面的时候浏览器响应事件,我只需要在关闭的时候出现提示。

还有些人加入
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
然后判断b,但是这样的话只能判断关闭按钮在最右边的情况,无法判断关闭浏览器标签,而现在的大部分浏览器都是用标签打开的,所以我删掉了这两句。
展开
 我来答
forzhp
2011-05-19 · TA获得超过1412个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:433万
展开全部
window.onbeforeunload=function(){
return "你确认离开本页面吗?";
}
支持IE FF SAFARI CHROME
你说的刷新不去管javascript是没办法做到的,因为刷新页面有很多种途径,比如F5键,右键点刷新,点工具栏的刷新,菜单栏的刷新,这些事件javascript根本取不到,也无从拦截
更多追问追答
追问
好吧,我退一步,不需要判断“F5键,右键点刷新,点工具栏的刷新,菜单栏的刷新”,只判断表单提交到自身页面的刷新可以吗?
追答
在表单的onsubmit事件里面判断form的action和当前页面的location是不是一样的,根据结果返回true或者false,返回false就会把submit事件拦截下来
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式