У меня есть предупреждение, которое отображается в Zendesk и информирует пользователей о нашей политике в отношении файлов cookie.Мне нужно, чтобы предупреждение появлялось только для пользователей, которые не приняли политику использования файлов cookie.При закрытии оповещения устанавливается файл cookie, и поэтому мне нужно, чтобы сайт сканировал его перед отображением оповещения.
Я пробовал несколько вариантов функций if
и getCookie
и т. Д., Но ни одного из нихкажется, работает - он устанавливает cookie, когда я закрываю предупреждение, но все равно отображает предупреждение, когда я обновляю.
Я пробовал много разных примеров кода.Я не разработчик, и это мой первый набег на js.
// Cookie Policy Banner Function
function setAgreeCookie() {
var expire=new Date();
expire=new Date(expire.getTime()+1000*60*60*24*365);
document.cookie="KimZD=True; expires="+expire;
}
// Cookie Policy Banner Behaviour
if (document.cookie.indexOf("KimZD") < "1") {
$.get( "/api/v2/help_center/"+$('html').attr('lang').toLowerCase()+"/articles.json?label_names=alert" ).done(function( data ) {
$.each(data.articles, function(index,item) {
var style1 = '<div class="ns-box ns-bar ns-effect-slidetop ns-type-notice ns-show"><div class="ns-box-inner"><span class="megaphone"></span></i><p><a href="'+ item.html_url + '">' + item.title + '</a>' + item.body + '</p></div><span class="ns-close"></span></div>'
$('.alertbox').append(style1);
});
$('.ns-close').on('click',function(){
setAgreeCookie();
$(".alertbox").remove();
});
});
}
Я ожидаю, что предупреждение будет отображаться при первом посещении веб-сайта из этого браузера, закройте, когда я нажму x,хранить куки (KimZD) и не появляться в течение года, пока я не очистю свои куки.
На самом деле происходит то, что баннер появляется каждый раз, когда я обновляю страницу.