如果cookie不存在,则弹出警告并重定向。

6

我需要在用户进入页面时检查cookie是否存在,如果不存在,则需要弹出警报并重定向到另一个页面。

3个回答

9
if( $.cookie('cookiename') == null ) { 
    alert("OH NOES U NO HAS COOKIE");
    window.location.replace('http://url');
}

“location”是“window”的属性,而不是“document”的属性。 - Niet the Dark Absol
谢谢,你显然是在我正在编辑修复它的窗口时发表了评论 ;) - Mala
是的,我做了 :3 我们互相狙击了,我想。 - Niet the Dark Absol

8
if( document.cookie.indexOf("cookiename=") < 0) {
    alert("Cookie not found, redirecting you.");
    location.href = "newpage.html";
}

请注意不要使用可能与其他cookie名称相同的cookie名称。如果有这种可能,您需要完全读取cookie或使用PHP。


你可能想使用replace()而不是href,以保持当前页面不出现在会话历史记录中(即在尝试使用浏览器的“返回”按钮时不会陷入循环)-- 此外,由于他正在请求jquery,因此他可以解决“cookie名称结尾”的问题。 - Mala

1

使用 JavascriptReadCookie() 函数

ReadCookie() 函数,你立刻发现它是用来读取 cookie 的。

只要在设置 cookie 的同一域名下进行读取,就可以读取任何 cookie。

<script type="text/javascript" language="JavaScript">
var acookie = ReadCookie("cookiename");
if(acookie.length == 0)
 { 
  //redirect somewhere 
 }
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接