我需要在某些用户访问网页时在页面底部显示典型的“使用Cookie”消息,并且只是在白天显示一次,我正在尝试但我的代码却无法正常工作。这是我到目前为止的代码......
<div id="cookie1"> </div>
<button id="botoncookie">Acept</button>
<script type="text/javascript">
document.getElementById('cookie1').style.bottom = '-50px';
var expiresdate = 5000 ; //1 day
$('#botoncookie').on('click',function(){
var mensaje = document.cookie.split('cookie1=')[1] + expiresdate;
$('#botoncookie').hide();
$('#cookie1').hide();
});
if(mensaje != null){
document.getElementById('cookie1').style.display = 'none';
}else{
document.cookie = 'cookie1=visto;path=/';
}
</script>
答案 0 :(得分:0)
设置一个过期时间为24 * 60 * 60的cookie,每当加载一个页面时,检查cookie是否存在,否则,显示该消息。
答案 1 :(得分:0)
页面加载时执行以下功能。这将检查何时显示cookieMsg。如果今天已经显示,则无需显示。作为边界情况,对于第一次加载,它将为null并且无论如何都将起作用。
编辑:在之前的代码片段中,我只是比较了包含时间的日期,您只需要专门检查日期。
function displayMsg(){
var today = new Date();
var lastDisplayedOn = localStorage.getItem('cookieLastDisplayed');
if(lastDisplayedOn){
var ld = new Date(lastDisplayedOn)
if(today.getDate() == ld.getDate() && today.getMonth() == ld.getMonth() && today.getFullYear() == ld.getFullYear()){
donotDisplay()
}else{
displayCookie()
}
}else{
displayCookie()
}
}