诡异的事情: onbeforeunload事件无法使用

kanseiu 2018-09-02 10:19:09
我在MyEclipse中写的一些WEB小项目.
用JSP写的界面, 系统默认为HTML4.01, 当时在<body>标签中根本找不到onbeforeunload事件, 根本不支持.
后来换成HTML5, 好歹在<body>标签中出现了onbeforeunload, 但无论怎么使用, 都无法在浏览器生效.
比如这种:
<script>
window.onbeforeunload = function (){
return "确定吗?";
}
</script>
<body>
<h1>Hello</h1>
</body>
还有这种:
<body onbeforeunload="return t()">
<h1>Hello</h1>
<script type="text/javascript">
function t(){
return "确定吗?";
}
</script>
</body>
浏览器全部无法生效, 谷歌不生效, Safari也不行.
头疼的要死, 求助大神.
不过, 补充一点, 直接用文本文档来编写的话会生效. 难道是MyEclipse? 还是什么规范的问题?
...全文
1659 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱笑的眼睛npf 2018-09-11
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:
现在浏览器为了优化用户体验,对onbeforeunload 的离开页面提示做出了限制。 比如最新版的谷歌浏览器,必须要有用户在页面上有点击等操作之后再离开页面才能有提示,如果页面打开后没有用户在页面上点击等操作就离开(关闭)页面就不会有提示。 另外一般的ide或代码编辑器内嵌浏览器离开(关闭)页面也不会有提示
用户在页面进行点击操作了,可是提示内容,是谷歌默认的,而不是自定义的,如何实现自定义呢?
kanseiu 2018-09-03
  • 打赏
  • 举报
回复
引用 1 楼 net_lover 的回复:
onbeforeunload是body的事件,不是window的。你可以‘
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8"/>

<body>
<h1>Hello</h1>
</body>
<script>
document.body.onbeforeunload=function(){return "要离开吗?"}
</script>

MyEclipse里面不生效,浏览器是否发生了脚本错误。
调试要使用外部浏览器比较方便,F12可以进行调试,不用内置的浏览器。

另外,这个事件只能起到辅助的作用,不要把业务的事情依赖这个事件。


还是无法起作用, 即使使用外部浏览器, 谷歌、Safari都不行
孟子E章 2018-09-02
  • 打赏
  • 举报
回复
onbeforeunload是body的事件,不是window的。你可以‘
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8"/>

<body>
<h1>Hello</h1>
</body>
<script>
document.body.onbeforeunload=function(){return "要离开吗?"}
</script>

MyEclipse里面不生效,浏览器是否发生了脚本错误。
调试要使用外部浏览器比较方便,F12可以进行调试,不用内置的浏览器。

另外,这个事件只能起到辅助的作用,不要把业务的事情依赖这个事件。
天际的海浪 2018-09-02
  • 打赏
  • 举报
回复
现在浏览器为了优化用户体验,对onbeforeunload 的离开页面提示做出了限制。
比如最新版的谷歌浏览器,必须要有用户在页面上有点击等操作之后再离开页面才能有提示,如果页面打开后没有用户在页面上点击等操作就离开(关闭)页面就不会有提示。
另外一般的ide或代码编辑器内嵌浏览器离开(关闭)页面也不会有提示

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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