我正在与Google跟踪代码管理器一起使用自定义JS变量来存储有关用户隐私权同意的数据。

我仅在用户单击特定按钮时才尝试使用下面的函数将隐私变量设置为true

function controlloConsenso() {
  var privacyAccettata = false;
  var checkPrivacy = document.querySelector(".ginger_btn_accept_all");
  checkPrivacy.addEventListener("click", function() {
    privacyAccettata = true;
  });
  return privacyAccettata;
}


问题在于,变量结果在GTM调试器中为undefined

在第一个功能(GTM不接受)之外尝试脚本时,代码可以正常工作(我已经在Chrome控制台中对其进行了测试)。

var privacyAccettata = false;
var checkPrivacy = document.querySelector(".ginger_btn_accept_all");
checkPrivacy.addEventListener("click", function() {
    privacyAccettata = true;
});

最佳答案

从您的函数中省略该名称,它应该可以工作。也就是说,将您的自定义JavaScript标记更改为:

// function controlloConsenso() {
function(){
  var privacyAccettata = false;
  var checkPrivacy = document.querySelector(".ginger_btn_accept_all");
  checkPrivacy.addEventListener("click", function() {
      privacyAccettata = true;
    });
  return privacyAccettata;
}

09-19 13:26