Изменение настроек cookie-файлов
Сookie-файл — текстовый файл, сохраненный в браузере компьютера (мобильного устройства) пользователя интернет-сайта при его посещении пользователем для отражения совершенных им действий, используемые для обеспечения или повышения работоспособности сайтов, а также для получения аналитической информации.
  • Файлы, осуществляющие хранение информации для обеспечения функционирования веб-ресурсов, информацию о выборе пользователя относительно принятия/отклонения cookie-файлов и не использующие какую-либо информацию о пользователе, которая может быть использована в маркетинговых целях или для учета посещаемых сайтов в сети Интернет. Отключение данного типа cookie-файлов может привести к ограничению доступа пользователя к функциональным возможностям веб-ресурса

  • Файлы, осуществляющие хранение информации о выборе пользователя (имя пользователя, язык, регион и т.д.). Отключение функциональных cookie-файлов не оказывает влияния на работу веб-ресурса.

  • Файлы, предназначенные для оценки работы веб-ресурсов и осуществляющие хранение информации о пользовательских предпочтениях и наиболее просматриваемых страницах веб-ресурса. Отключение аналитических cookie-файлов не оказывает влияние на работу веб-ресурса.

    this.technicalVal = $('#checkbox1').attr("checked", false); this.functionalVal = $('#functionalCookies').attr("checked", false); this.analiticVal = $('#analyticalCookies').attr("checked", false); }, checkboxClic (checkbox) { var nodecheck = $(checkbox); if(nodecheck.attr('checked')){ nodecheck.removeAttr('checked'); }else { nodecheck.attr('checked', true); } this.actualizeValues(); }, setInitialConditionCheckbox( functionalCookies = false, analyticalCookies = true){ if(functionalCookies){ $('#functionalCookies').attr('checked', true); } if(analyticalCookies){ $('#analyticalCookies').attr('checked', true); } }, setInitialConditionCheckboxUnchecked(){ $('#functionalCookies').attr('checked', false); $('#analyticalCookies').attr('checked', true); } }) } }; class CookiesPageController { // тут по сути будет логика управления куками на всех страницах constructor (cookieFormoObj){ this.cookieFormControl = cookieFormoObj; this.functionCookieList = ["_gcl_au", '_ym_uid']; this.technicalCookieList = ['1sjjegm', 'PHPSESSID', 'BITRIX_USER_ID', 'BITRIX_SM_PK']; this.analiticCookieList = ['_ga', '_fbp', '_gid', 'tmr_lvid', 'tmr_lvidTS', 'tmr_detect', '_ym_visorc', '_ym_isad', '_ym_d', 'bh', 'ymex', 'i', 'test_cookie', 'yuidss', 'yuidss', 'yabs-sid', 'yandexuid', '_dc_gtm_UA-231712873-1', "_gcl_au", '_ym_uid']; this.analicticalRegulars = ["_ga_", "_ym_", "_gta", ] this.cookiesObj = $.cookie(); // console.log($.cookie()) Object.assign(CookiesPageController.prototype, { init() { if($.cookie('agreeCookies') == 'disable') { this.cookieFormControl.setInitialConditionCheckboxUnchecked(); } else if(!$.cookie('agreeCookies')) { this.cookieFormControl.setInitialConditionCheckboxUnchecked(); } else { let options = $.cookie('agreeCookies'); let optionsObj = options.split('|'); let check2 = optionsObj[1].replace(/2-/gi, ''); check2 = check2.replace(/undefined/gi, ''); let check3 = optionsObj[2].replace(/3-/gi, ''); check3 = check3.replace(/undefined/gi, ''); this.cookieFormControl.setInitialConditionCheckbox(check2, check3); } this.cookieFormControl.actualizeValues(); }, disableCookies () { $.cookie('agreeCookies', 'disable', { expires: 30, path: '/' }); }, saveOptions() { this.cookieFormControl.actualizeValues(); console.log(this.cookieFormControl.functionalVal); console.log(this.cookieFormControl.analiticVal); $.cookie('agreeCookies','1-checked|2-'+this.cookieFormControl.functionalVal+'|3-'+this.cookieFormControl.analiticVal, { expires: 30, path: '/' }) }, acceptCookies() { console.log('accept'); $.cookie('agreeCookies','1-checked|2-checked|3-checked', { expires: 30, path: '/' }); this.cookieFormControl.acceptValues(); }, declineCookies() { console.log('declineCookies'); $.cookie('agreeCookies','1-checked|2-undefined|3-undefined', { expires: 30, path: '/' }); this.cookieFormControl.declineValues(); }, actualizeCoockies () { this.cookieFormControl.actualizeValues(); this.unsetCoociesAfterActualize(); }, unsetCoociesAfterActualize() { this.cookiesObj = $.cookie(); console.log(this.cookieFormControl); console.log(this.cookiesObj); for(name in this.cookiesObj){ if(!this.cookieFormControl.functionalVal){ if(this.functionCookieList.includes(name)){ console.log(name); let cRes1 = $.removeCookie(name, { path: '/' , domain : '.autolight.by'}); document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; console.log(cRes1); } } if(!this.cookieFormControl.analiticVal){ if(this.analiticCookieList.includes(name)){ console.log(name); let cRes2 = $.removeCookie(name, { path: '/' , domain : '.autolight.by'}); document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; console.log(cRes2); } else { let isSubStr = false; for(let i = 0; i < this.analicticalRegulars.length; i++){ if(name.includes(this.analicticalRegulars[i])){ isSubStr = true; break; } } if(isSubStr){ console.log(name); let cRes3 = $.removeCookie(name, { path: '/' , domain : '.autolight.by'}); document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; console.log(cRes3); } } } } } }) } } $(document).ready(function (){ var formObj = new CookiesForm(); var cookiePC = new CookiesPageController(formObj); //$.removeCookie('agreeCookies'); setTimeout(function(){ cookiePC.init(); cookiePC.actualizeCoockies() }, 5000); console.log('settingsModal'); $("body").on("click", ".js-coockie-cancel", function (e) { e.preventDefault(); cookiePC.declineCookies(); location.reload(); }); $("body").on("click", ".js-coockie-agree", function (e) { e.preventDefault(); cookiePC.acceptCookies(); location.reload(); }); $("body").on("click", ".buttonOpenSettingsCookie", function (e) { e.preventDefault(); $('.cookies-setting').show(); }); $("body").on("click", ".js-cookies-modal__close", function (e) { e.preventDefault(); $('.cookies-setting').hide(); }); $('#cookies-save-btn').click(function () { cookiePC.saveOptions(); location.reload(); }); $('.cookies-setting input').click(function(node){ formObj.checkboxClic(node.currentTarget); }); $('.cookies-setting__close').click(() => { $('.cookies-setting').hide(); }) if(!$.cookie('agreeCookies') || $.cookie('agreeCookies') == "disable"){ $('#cookie-modal').show(); } else{ $('#cookie-modal').hide(); } }); });