<转>js onload/onunload/onbeforeunload事件
2015-12-16 17:22
591 查看
onunload事件
浏览器卸载页面后执行的事件, 虽然网上的资料没说什么兼容性的问题,但是实践发现兼容性并不理想。
使用方法
//JS document window.onunload = function(){ alert("unload is work"); }
浏览器兼容情况
IE6,IE7,IE8 中 刷新页面、关闭浏览器之后、页面跳转之后都会执行;IE9 刷新页面 会执行,页面跳转、关闭浏览器不能执行;
firefox(包括firefox3.6) 关闭标签之后、页面跳转之后、刷新页面之后能执行,但关闭浏览器不能执行;
Safari 刷新页面、页面跳转之后会执行,但关闭浏览器不能执行;
Opera、Chrome 任何情况都不执行。
onbeforeunload事件
页面跳转时触发的事件。
使用方法
//JS document window.onbeforeunload = function(){ return "onbeforeunload is work"; }
return 的值 为你需要告诉用户的提示信息如上面demo的话浏览器的提示是这样(firefox 并不支持文字提醒):
值得注意的是,网上流传说 可以通过检查 e.clientX e.clientY 判断 用户是否点击 右上角关闭浏览器的,但是实践发现 只有 IE6,IE7,IE8 能获取得到具体数值,其他浏览器均为 undefined。
浏览器兼容情况
IE、Chrome、Safari 完美支持Firefox 不支持文字提醒信息
Opera 不支持
IE6,IE7 使用 onbeforeunload 遇到的bug
凡是 <a> 标签 都会触发 onbeforeunload事件 包括 href=”javascript:void(0)” 这种。在IE6,IE7 下面 点击 里面的 a 标签,蛋疼的事情就发生了。
解决方法:给这 a标签的 父级 添加 onclick=function(){return false} 即可,不过添加了这个之后 要确保 父级里面没有 input type=”checkbox” 的标签,否则会导致其无效不可点击。
相关文章推荐
- js replaceAll
- JSon解析
- JSTL 核心标签库
- 【学习笔记javascript设计模式与开发实践(代理模式)----6】
- jsp页面中jstl标签详解
- 理解Javascript的call、apply
- JavaScript基础学习<三>参数传递
- OAF调用JavaScript新开窗口
- JS隐藏HTML标签对象
- js中的$.ajax()方法详解
- 滚动到指定位置js
- js 类与constructor属性
- 去除url中讨厌的jssionid
- seajs版本号添加
- lazyload.js详解
- 跨域请求获取Solr json检索结果并高亮显示
- 用volley从网页获取json数据
- JSP 登录加注册
- js
- [Servlet&JSP] 部署描述设置