Я пытаюсь внедрить диалог согласия на использование файлов cookie, который (в itelf) устанавливает файл cookie, запрашивая у пользователя «отклонить» или «разрешить» файлы cookie с помощью сценария из: https://cookieconsent.insites.com/download/
Мой сайт использует Google Analytics.
Кажется, не имеет значения, где я размещаю код Google.
В его нынешнем виде «ga», «_gat_gtag_UA …», «gid» и «cookieconsent_status» создаются при нажатии «отклонить» или «разрешить». но в инструментах разработчика Mozilla также сообщается об ошибке «недоступный код».
Я сделал это, потому что Google говорит, что «ga_disable» должен прийти перед любыми вызовами gtag (). (https://developers.google.com/analytics/devguides/collection/gtagjs/user-opt-out}
Когда 2 сценария Google размещаются один за другим (либо до, либо после сценария согласия на использование файлов cookie), ошибка кода исчезает, записываются 3 вышеуказанных файла «ga» и все файлы cookie google.com записываются независимо от того, «отклонены» или нет. «или» принять «нажата.
Цель состоит в том, чтобы предотвратить любые куки-файлы при «отклонении» и записать все куки-файлы при «разрешении» с возможностью изменения пользователем своего мнения в соответствии с намерением сценария согласия на использование куки-файлов.
Любое руководство будет оценено.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible"content="IE=edge,chrome=1" />
<title>Example</title>
<meta name="description"content="My description" />
<meta name="viewport"content="width=device-width, initial-scale=1" />
<meta name="language"content="en-us" />
<meta name="robots"content="INDEX,FOLLOW" />
</head>
<body>
<p>Hello World!</p>
<?php // Permission to deline or allow cookies -- https://cookieconsent.insites.com/download/# ?>
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.css" />
<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.0.3/cookieconsent.min.js"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
onInitialise: function (status) {
var type = this.options.type;
var didConsent = this.hasConsented();
if (type == 'opt-in' && didConsent) {
// enable cookies
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-119555859-1');
}
if (type == 'opt-out' && !didConsent) {
// disable cookies
window['ga-disable-UA-119555859-1'] = true;
}
},
onStatusChange: function(status, chosenBefore) {
var type = this.options.type;
var didConsent = this.hasConsented();
if (type == 'opt-in' && didConsent) {
// enable cookies
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-119555859-1');
}
if (type == 'opt-out' && !didConsent) {
// disable cookies
window['ga-disable-UA-119555859-1'] = true;
}
},
onRevokeChoice: function() {
var type = this.options.type;
if (type == 'opt-in') {
// disable cookies
window['ga-disable-UA-119555859-1'] = true;
}
if (type == 'opt-out') {
// enable cookies
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-119555859-1');
}
}, "palette": {
"popup": {
"background": "#237afc"},
"button": {
"background": "#fff",
"text": "#237afc"}
},
"theme": "classic",
"position": "bottom-right",
"type": "opt-in",
"content": {
"dismiss": "Decline Cookies",
"link": "Learn more.",
"href": "https://cookiesandyou.com/"}
})});
</script>
<?php // Global site tag (gtag.js) Second gtag script installed above in 'enable cookies' ?>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-119555859-1"></script>
</body>
Задача ещё не решена.
Других решений пока нет …