【问题标题】:How to exclude tag in Google Tag Manager based on specific script include in HTML如何根据包含在 HTML 中的特定脚本在 Google 跟踪代码管理器中排除标记
【发布时间】:2015-10-15 01:15:07
【问题描述】:

我必须修改我们的 Google 跟踪代码管理器容器,而且我对 GTM 很陌生。 IE8 和使用 Fusion Charts 的页面存在问题。使用这种组合,我在 gtm.js 中有一个 javascript 错误,我发现它在表单提交侦听器中。所以我想我会在那个标签上添加一个例外。该例外将是“如果 isIE8 和 hasFusionChartsControl”。这两个是 GTM 中“自定义 Javascript”类型的变量,我这样定义:

contientFusionCharts:

function() { 
  var file = "fusioncharts.js";
  var scripts = document.getElementsByTagName("script");
  for(var i = 0; i < scripts.length; i++) {
    if (scripts[i].src != undefined && scripts[i].src.substr(scripts[i].src.length-file.length) == file) {
      return true;
    }
  }

  return false;
}

estIE8:

function() {
  var isIE = !!document.documentMode; // At least IE6
  var rv = -1; // Return value assumes failure.
  if (isIE) {
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
  }

  return (rv > -1 && rv <= 8.0);
}

我已经测试了这些 javascript 函数,它们在 IE8 上运行良好。现在我定义了一个触发器:

现在我的标签,我只添加了例外:

这在我看来一切都很好,但它仍然无法正常工作。我可以证明这个标签有问题,因为我创建了一个异常,它查看特定页面的 URL,当我浏览这个特定页面时,不再引发 js 错误。但我不想创建指定特定页面的异常,因为这是一个 Sharepoint 站点,用户可以根据需要创建页面。所以我不想每次他们在页面中使用 Fusion Charts 控件时都添加异常。所以我认为寻找适合 Fusion Charts 的特定 html 标记是一个好主意,我得出的结论是,寻找包含 fusioncharts.js 的脚本将是一个好主意。

如果您能解释为什么它不起作用以及替代解决方案,那就太好了!谢谢!

【问题讨论】:

    标签: javascript html internet-explorer-8 google-tag-manager fusioncharts


    【解决方案1】:

    以下是我在 Google 产品论坛上从 Simo Ahava 收到的答案:

    异常只会阻止您为其设置的事件。所以你的 异常只会阻止“加载窗口”事件。是你的标签 在那个事件上开火?如果您的代码在“所有页面”事件中触发, 它使用的是页面视图,而不是 Window Loaded 事件,所以你需要 相应地更改您的异常触发器以匹配 标记。

    或者你可以创建一个全局异常,它会阻止所有事件 符合其他条件的。您可以使用自定义事件来做到这一点 触发,并将事件名称设置为 .*(并检查 RegEx)。

    http://www.simoahava.com/gtm-tips/block-your-tags-with-trigger-exceptions/

    西莫

    我已选择使用事件名称为 .*(使用 RegEx)的自定义事件触发器来创建全局异常,并且效果很好。

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      相关资源
      最近更新 更多