繁体   English   中英

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

[英]Javascript parse error - Google Tag Manager

阅读指南后,我尝试创建一个自定义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'); 
}());

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将在全局名称空间中创建,因此您需要注意不要覆盖其他倒计时功能,或者将其覆盖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM