如果Cookie是真的,如何不显示Div?

时间:2014-12-01 17:09:37

标签: javascript html cookies

好的,显然这不起作用。我刚刚开始使用这个cookie业务,而且我对Javascript也很新。这只是一个我正在制作的练习网站。这是我到目前为止所做的:

<!DOCTYPE html>
<html>
<head>
<link href='http://fonts.googleapis.com/css?family=Cutive+Mono' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="cookies.css"/>
</head>
<body>
<div id="weusecookies">
    <h1>We Use Cookies</h1>
    <input type="button" value="ok" onclick="ok();"/>
</div>
<script>
var cookiesDiv = document.getElementById("weusecookies");
document.cookie="hasVisited=false; expires=18 Dec 2027 12:00:00 UTC";

if (hasVisited=true) {
    cookiesDiv.remove();
}

function ok() {
    document.cookie="hasVisited=true";
    cookiesDiv.remove();
}
</script>
</body>
</html>

到目前为止,主要问题是关闭了初始if语句,div加载了第二个页面。我该如何解决这个问题?如果我解决了这个问题,这实际上会起作用吗?

1 个答案:

答案 0 :(得分:1)

这样的事情一般不应该用JavaScript来完成 - 理想情况下你应该使用服务器端语言来确定&#34; hasVisited&#34;已经设置了cookie,如果没有,那么(而那么)它应该输出&#34;我们使用cookies&#34;代码。

但是,如果失败了,您可以朝相反的方向前进:没有显示横幅(或将其设置为display:none),如果Cookie不是,则让显示元素集。

......我刚注意到实际问题。 if(hasVisited=true)=是作业,除此之外您还没有定义hasVisited变量。您需要代码才能阅读Cookie。