我希望在从其他页面加载时清除页面的cookie,但在重新加载同一页面时则不需要

时间:2015-04-29 13:30:43

标签: javascript php jquery cookies

我正在建立一个新的网站,为此我创建了一个页面,其中有一个cookie存储阵列存储,我正在使用

清除该数组

$ removeCookie( “checkboxValues”);

文档准备好后,我正在运行此函数。当我使用链接从另一个页面访问此页面时,我想要清除cookie,是的,这是正在发生的事情。但我的问题是,如果我加载相同的页面(使用f5或ctrl + r)cookie被清除,我不想放松cookie。任何形式的帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用以下方法之一:

  

我能想到的最简单的方法是实现这一目标   重定向的查询字符串中的时间戳,并在此处读取   JavaScript的。使用此时间戳设置cookie并检测是否存在   已经存在,以告知是否正在重新加载页面(已经   在之前加载了查询字符串。)

代码:

首次有人访问该网页时存储Cookie。在刷新时检查您的cookie是否存在以及是否存在,请提醒。

function checkReload() {
  if(document.cookie.indexOf('YOURCOOKIE')==-1) {
    // cookie doesn't exist, create it now
  }
  else {
    // not first visit, so alert
    alert('You refreshed!');
  }
}

并在你的身体标签中:

<body onload="checkReload()">

再一次:

第一步是检查sessionStorage是否有一些预定义的值,如果它存在则提示用户:

if (sessionStorage.getItem("is_reloaded")) alert('Reloaded!');

第二步是将sessionStorage设置为某个值(例如true):

sessionStorage.setItem("is_reloaded", true);

会话值一直保留到页面关闭,因此仅当页面重新加载到包含该站点的新选项卡中时才会起作用。