检查页面是刷新还是导航到其他页面

时间:2012-09-17 13:30:48

标签: javascript asp.net page-refresh

如果我的页面导航到其他页面或关闭,我想删除所有cookie,否则我想让页面正常刷新。这样做的原因是Clearing cookie for tabs

所以我的问题是:
我们怎样才能知道页面是刷新还是导航或关闭?

我尝试使用

window.onbeforeunload = function() {
    var old_url= window.location.href;
    var new_url=  /* I dont know how to get new URL here */;
    if(old_url == new_url){
      return true;
    }
    else {
      return false;
    }
}

它不起作用:(
还有其他办法吗?

3 个答案:

答案 0 :(得分:1)

我在javascript中声明了一个全局变量。

<script type="text/javascript">
  var is_refresh_true = true;
</script>

每当我尝试使用javascript刷新页面时,我只是将变量值更改为false 例如:

<script type="text/javascript">
   function Callme(){  
      is_refresh_true = false;
      window.location.href = window.location.href;
    }
</script>

还有body的onUnload事件:

 function DeleteCokies() {            
     if (is_refresh_true) {
            deleteAllCookies();
     }
 }

它不是一个完美的解决方案,但对我有用 我还在等待完美答案。如果有人发现,请回复。

答案 1 :(得分:0)

如果你没有为cookie设置任何Expiration,它将被会话清除(即,当你关闭浏览器时)..

如果您导航到其他页面,我在其他页面上看不到这些cookie的任何问题..并且假设您再次回到同一页面,它将显示相同的标签..

答案 2 :(得分:0)

var confirmOnPage = function () {

   function del_cookie(name)
   {
       document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
   }

};

window.onbeforeunload = confirmOnPage;