如何使onunload只在关闭窗口时触发,而页面刷新的时不触发。

moqijun 2002-11-12 04:11:00
<script language=javascript>
function window.onbeforeunload()
{
if (event.clientX>document.body.clientWidth && event.clientY<0||event.altKey){
window.event.returnValue="确定要退出本页吗?";
}
</script>
但是如果页面里有框架,当点一下框架接着就点关闭好像就没有触发了!
有没有别的方法???
...全文
406 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
网事随逢 2003-04-07
  • 打赏
  • 举报
回复
严重关注。。。
KimSoft 2003-03-13
  • 打赏
  • 举报
回复
不赵的
gabble 2002-11-22
  • 打赏
  • 举报
回复
继续关注
33881163 2002-11-21
  • 打赏
  • 举报
回复
我也有同样的问题:想在离开页面的时候写日志---调用asp。关注!
fanzai 2002-11-18
  • 打赏
  • 举报
回复
iframe 也一样啊
moqijun 2002-11-15
  • 打赏
  • 举报
回复
我的窗口里面用的是
<iframe>
flyxing 2002-11-14
  • 打赏
  • 举报
回复
也想知道
kenpa 2002-11-14
  • 打赏
  • 举报
回复
有办法的
希默软件 2002-11-13
  • 打赏
  • 举报
回复
这是暂时无法通过脚本解决的,onbeforeunload本来就在关闭和刷新都要触发的,没法子区分

导致秋水给的代码失效的其他几种可能:
1、在标题栏上右键菜单中选择关闭
2、标题栏左上角图标的下拉菜单中选择关闭
3、任务栏上该窗口的右键菜单选择关闭
qiushuiwuhen 2002-11-12
  • 打赏
  • 举报
回复
<script language=javascript>
function check()
{
if (event.clientX>document.body.clientWidth-20 && event.clientY<0||event.altKey)
window.event.returnValue='确定要退出本页吗?';
}
</script>
<frameset rows="100,*" onbeforeunload=check()>
<frame src="about:1">
<frame src="about:1">
</frameset>
flashsoft2000 2002-11-12
  • 打赏
  • 举报
回复
判断是否在框架内,如果是框架内,就取parent.document.body.cliientWidth
fanzai 2002-11-12
  • 打赏
  • 举报
回复
这是一个我也想了很久的问题。关注……
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 ### 识别浏览器是执行页面刷新还是窗口关闭在网页设计领域,我们经常需要在用户结束会话或离开当前文档执行特定的任务,例如保存用户的当前进度、展示一个提示信息等。为了达成这一目标,JavaScript 提供了 `onunload` 事件机制,该机制会在浏览器窗口被终止访问或用户切换到其他页面被激活。然而,在实际操作过程中,我们可能会面临一个复杂的情况:无论是执行页面刷新操作还是关闭浏览器窗口,`onunload` 事件都会被启动。因此,如何辨别用户的真实意图就变得至关重要。#### 一、`onunload` 事件深入解析`onunload` 事件是在文档或窗口即将被移除触发的一种事件。当用户选择通过点击浏览器关闭图标或采用其他方式(例如执行页面刷新)来离开当前页面,此事件将被激活。由于该事件触发机具有特殊性,`onunload` 常被用于完成一些收尾工作,如终止后台运行的计器、记录用户数据等。**特别说明**:`onunload` 事件不支持取消预设操作或阻止事件向外传播,所以对于需要用户交互反馈的操作(例如弹出确认窗口),`onunload` 并不是一个恰当的选择。#### 二、区分刷新动作与关闭操作在网页应用中,执行页面刷新动作与关闭窗口虽然都会触发 `onunload` 事件,但我们可以通过监控其他事件来分辨这两种情形。1. **监控 `onbeforeunload` 事件** `onbeforeunload` 事件在 `onunload` 事件之前被触发,并且能够用来向用户发出继续操作的提示。通过分析鼠标位置、键盘按键状态等信息,可以在一定程度上区分用户...

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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