window的onunload和onbeforeunload事件的一些总结
作者:admin 日期:2008-04-28
最近为这两个事件对于多窗口浏览器和单窗口浏览器的问题郁闷了两天....现在总结下来.希望对郁闷中的朋友有用!
以下是指在js中实现,而非 <body onunload="close()"> 这种方法!
因为这样是在unload掉body的时候触发,而无聊任何浏览器,都会在关闭的时候unload掉body的!
模型1:
function close(){
alert("sdfsdfsdf");
}
window.onbeforeunload=close;
模型2:
function close(){
if(document.body.clientWidth-event.clientX< 170&&event.clientY< 0||event.altKey)
{
alert("sdfsdfsdf");
}
}
window.onbeforeunload=close;
onbeforeunload和onunload用法
作者:admin 日期:2008-04-28
onunload是在页面刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定到用户自定义函数,也可以在body里面指定。
onbeforeunload是则也是在页面刷新或关闭时调用,不过是在onunload之前执行。它可以阻止onunload的执行。
onunload和onbeforeunload的区别在于,onbeforeunload是在onunload之前调用的,可以在onbeforeunload指定的函数里面进行一个确认操作,如果确认执行,则页面会执行onunload里面指定的函数,即刷新或关闭页面;如果取消操作,则不会执行onunload指定的函数,也不会进行刷新或关闭页面。这种情况适用于当用户要离开一个网页时使用。下面是一个例子:
<html>
<head>
<script type="text/javascript">
function whenUnload()
{
alert("触发了onunload");
}
function whenBeforeUnload()
{
return "确认离开?"; // 这句话显示在确认对话框中
//alert("触发了onbeforeunload"); // 也可以执行其它逻辑
}
广告位