首页 > 解决方案 > GTM 自定义 Javascript 未定义变量

问题描述

我正在一个网站上工作,该网站混合了按钮和图像/文本标签,这些标签包含在锚标签中,锚标签包含我需要通过谷歌标签管理器提取到谷歌分析的 href。

一个例子

<a style="touch-action: manipulation; -ms-touch-action: manipulation; cursor: pointer;" href="/company_details/documents" id="ember11" class="ember-view">
        <i aria-hidden="true" class="material-icons message-icon">
          email
        </i>
        <span class="nav-masterhead-label">
          Letters
        </span>
      </a>

我创建了一个自定义 JavaScript 变量,但在触发标记时会导致未定义。click 元素也可以是网站上的按钮,因此我创建了一个 if 语句来实现这一点,如果没有 if 语句,变量也是未定义的。

function (){
  var $clickElement = $({{Click Element}});
  if (typeof $clickElement.closest('a').href !== 'undefined'){
    return $clickElement.closest('a').href;
  } else {
    return $clickElement.href;
  }
}

标签: javascriptgoogle-tag-manager

解决方案


工作中的一位同事迈克尔发现了我$({{Click Element}})未定义的错误。

function (){
  var $clickElement = {{Click Element}};
  if (typeof $clickElement.closest('a').href !== 'undefined'){
    return $clickElement.closest('a').href;
  } else {
    return $clickElement.href;
  }
}

推荐阅读