[英]How to Not Display A Div if a Cookie Is True?
好的,很顯然這是行不通的。 我剛開始從事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在頁面加載的第二秒消失。 我該如何解決? 如果我解決了這個問題,這真的有效嗎?
通常不應該使用JavaScript來完成類似的事情-理想情況下,您應該使用服務器端語言來確定是否已設置“ hasVisited” cookie,如果沒有,則(並且只有這樣)它應該輸出“我們使用cookie”碼。
但是,如果失敗,您可以朝相反的方向進行操作:不顯示橫幅(或將其設置為display:none
),如果未設置cookie,則讓JavaScript 顯示元素。
...我只是注意到了實際的問題。 if(hasVisited=true)
。 =
是賦值,此外您還沒有定義hasVisited
變量。 您需要代碼才能讀取Cookie。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.