我有一个'接受Cookies'使用以下HTML在我的网页底部栏:
<div class="cookies-banner-bloc">
<div class="cookies-banner-container">
<p>We use cookies on this website.</p>
<a class="cookies-close-button no-border">Close this Message</a>
</div>
</div>
我使用以下jQuery在用户点击“关闭”时使用Cookie进行存储,但是,Cookie似乎只存储在一个页面上,而不是存储在整个网站上。我确实在我的header.php
脚本中有它,所以它应该影响我的所有模板。
为什么这只能在一个页面上工作?
使用Javascript:
<script>
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
}
}
return "";
}
jQuery(document).ready(function($){
if(getCookie("userclosedalert")=="true"){
$(".cookies-banner-bloc").addClass('hide');
removeClass = false;
} else {
$(".cookies-banner-bloc").addClass('show');
removeClass = false;
}
$(".cookies-close-button").click(function () {
document.cookie = "userclosedalert=true";
});
});
</script>
CSS:
.cookies-banner-bloc {
width: 100%;
position: fixed;
bottom: 0;
background-color: black;
padding: 25px 0;
opacity: 1;
display:none;
}
.cookies-banner-bloc.show {
display:block;
}
.cookies-banner-bloc.show.hide,.hide {
display:none;
}
答案 0 :(得分:1)
答案 1 :(得分:1)
我也没看到你的cookie什么时候到期。在下一个会话中,用户将再次看到此消息。你可以使用这样的东西
var x = 12 * 20; //or whatever offset
var CurrentDate = new Date();
CurrentDate.setMonth(CurrentDate.getMonth() + x);
document.cookie = "userclosedalert=true; expires=" + CurrentDate + ";path=/";