簡體   English   中英

如果Cookie為True,如何不顯示Div?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM