程序猿刚子的博客

大龄程序猿,分享互联网开发相关知识!前端、后端,架构等内容,欢迎关注公众号 chengxuyuangangzi

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

通常在浏览器关闭时有两个方法选择,1.onunload  2.onbeforeunload

由于1在不同浏览器有的执行,有的不执行,所以通常选择在onbeforeunload事件中处理。

该事件发生在很多情况:

  1. 刷新页面
  2. postback
  3. 点击链接
  4. 浏览器导航前后操作

 

有时不希望如点击链接时、刷新等一些步骤中不需要执行close event,所以我们可以使用一些方法进行排除这几个操作。当然导航的前后这些我们是检测不到的,也排除不了。

排除的原理:

在执行不想执行关闭脚本的操作中设置一些标志位,然后在事件中判断即可。简单逻辑如下:

$("a").click(function(){
    isclose=false;
});

  

window.onbeforeunload=function(){
  if (isclose)
  {
    do()  
  }      
}

  

posted on 2013-01-28 17:36  程序猿刚子  阅读(520)  评论(0编辑  收藏  举报