В следующем шаблоне я использую три переменные: GA_TRACKING_ID
, CC_POPUP_BGCOL
и CC_POPUP_TXTCOL
<script src="fileadmin/templates/js/cookieconsent.min.js" data-cfasync="false"></script>
<script>
function loadGAonConsent(){
var gs = document.createElement("script");
gs.async = true;
gs.src = "https://www.googletagmanager.com/gtag/js?id={GA_TRACKING_ID}";
var h = document.getElementsByTagName("head")[0];
h.appendChild(gs, h);
gs.onload = function (){
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments)};
gtag('js', new Date());
gtag('config', '{GA_TRACKING_ID}', { 'anonymize_ip': true });
testfunc('{CC_POPUP_BGCOL}', '{CC_POPUP_TXTCOL}');
}
}
if(document.cookie.split(';').filter(function(item){return item.indexOf('cookieconsent_status=allow') >= 0}).length)
loadGAonConsent();
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "{CC_POPUP_BGCOL}",
"text": "{CC_POPUP_TXTCOL}"
},
"button": {
"background": "#4b81e8"
}
},
"theme": "classic",
"type": "opt-in",
"content": {
"policy": "policy",
"message": "message",
"deny": "deny",
"allow": "allow",
"link": "link",
"href": "#"
},
onStatusChange:function(status,chosenBefore){
if(this.hasConsented())
loadGAonConsent();
}
});
</script>
Все появления GA_TRACKING_ID
заменены, как и ожидалось, но не оба CC_POPUP_xxx
в JS -функции window.cookieconsent.initialise()
.
Итак Я добавил вызов к несуществующему веселью c testfunc('{CC_POPUP_BGCOL}', '{CC_POPUP_TXTCOL}')
сразу после вызовов gtag()
(для имитации аналогичного вызова функции), и неожиданно эти два появления были заменены.
Может кто-нибудь объяснить это?