JavaScript解析错误-Google跟踪代码管理器

时间:2019-09-06 06:59:51

标签: javascript google-tag-manager parse-error

阅读教程后,我试图创建一个自定义JavaScript GTM变量。

但是我只是收到一条消息,提示我存在解析错误。

第43行的错误,字符5:解析错误。 ')'预期

不确定这是怎么回事。有任何想法吗?谢谢。

function countdown(endDate) {
  var days, hours, minutes, seconds;

  endDate = new Date(endDate).getTime();

  if (isNaN(endDate)) {
    return;
  }

  setInterval(calculate, 1000);

  function calculate() {
    var startDate = new Date();
    startDate = startDate.getTime();

    var timeRemaining = parseInt((endDate - startDate) / 1000);

    if (timeRemaining >= 0) {
      days = parseInt(timeRemaining / 86400);
      timeRemaining = (timeRemaining % 86400);

      hours = parseInt(timeRemaining / 3600);
      timeRemaining = (timeRemaining % 3600);

      minutes = parseInt(timeRemaining / 60);
      timeRemaining = (timeRemaining % 60);

      seconds = parseInt(timeRemaining);

      document.getElementById("days").innerHTML = parseInt(days, 10);
      document.getElementById("hours").innerHTML = ("0" + hours).slice(-2);
      document.getElementById("minutes").innerHTML = ("0" + minutes).slice(-2);
      document.getElementById("seconds").innerHTML = ("0" + seconds).slice(-2);
    } else {
      return;
    }
  }
}

(function () { 
  countdown('09/06/2019 12:00:00 AM'); 
}());

1 个答案:

答案 0 :(得分:1)

GTM中自定义Javascript变量的语法如下:

 function() {
   //your code
   return //your result;
 }

这就是为什么当您尝试保存代码时收到错误消息的原因。

因此,您只需要包括想要在此处实现的核心功能。但是,这种类型的变量应主要用于计算和返回值,而不是操作DOM。

您需要的是自定义HTML标记,该脚本应包含在script标记内:

<script>
function countdown(endDate) {
  //your countdown function
}

(function () { 
  countdown('09/06/2019 12:00:00 AM'); 
}());
</script>

您还将需要一个触发器,该触发器将在页面加载时启动此标签。可能只有在DOM之后或在加载窗口之后,才能在脚本运行时使用所有元素。

还请注意,countdown将在全局名称空间中创建,因此您需要注意不要覆盖其他倒计时功能或将其覆盖。