在onbeforeunload中,如何判断用户点击了确定还是取消?

boybay 2009-08-14 09:27:59
我需要在用户关闭网页时清除服务器上的临时文件,可是在onbeforeunload中无法判断用户点击的是确认还是取消,不知道有什么办法。
...全文
1890 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lunasea0_0 2009-08-14
  • 打赏
  • 举报
回复
window.onbeforeunload = function()
{
return confirm("exit?");
}
bigmingming 2009-08-14
  • 打赏
  • 举报
回复
http://tech.techweb.com.cn/thread-215267-1-1.html
bigmingming 2009-08-14
  • 打赏
  • 举报
回复
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"); // 也可以执行其它逻辑
}

//window.onunload = whenUnload;
//window.onbeforeunload = whenBeforeUnload;
</script>
</head>

<body onbeforeunload="return '确认离开';">
<div>如果body之间什么都没有,那可能不会触发这两个事件。</div>
</body>
</html>

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧