2016-05-15 2 views
-1

Мне нужно показать типичное «использование файлов 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

Установите печенье с временем истечения 24 * 60 * 60 и всякий раз, когда страница загружена, проверьте, если печенье существует, в противном случае отображается сообщение.

+0

, что это идея, конечно, но я хотел бы сделать это с локальным хранилищем, потому что у меня больше storare пространства – kukiko11

0

При загрузке страницы выполните следующую функцию. Это проверит, когда был отображен файл cookieMsg. Если он уже отображается сегодня, нет необходимости отображать. В качестве граничного случая, при первой загрузке, он будет нулевым, и он все равно будет работать.

EDIT: В предыдущем фрагменте я просто сравнивал дату, в которую также включалось время, вам нужно специально проверить только дату.

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() 
    } 
} 
+0

он не работал: C – kukiko11

+0

@ kukiko11 Я изменил фрагмент кода, раньше я сравнивал сырая дата, которая также включала время. Примерьте вот это. Я проверил это на Chrome. –

Смежные вопросы