在 Google 跟踪代码管理器中附加 link URL 而没有 ECMASCRIPT_2015

Append link URL in Google Tag Manager without ECMASCRIPT_2015

以下代码在浏览器中运行良好。它会查找任何带有包含 'example.com' 的 href 的 'a' 标签,并在其后附加“&utm_day=monday”。所以 'exmaple.com' 变成 'example.com&utm_day=monday'.

<script>
let text = '&utm_day=monday'
document.querySelectorAll('a').forEach(
        item => {
            if (item.href.includes("example.com")) {
                item.href += text
            }
        }
    )
</script>

尝试使用 GTM(Google 标签管理器)注入此代码时,'let' 和“=>”均出现错误,提示“此语言功能仅支持ECMASCRIPT_2015 模式或更好:让声明。"

我原以为使用 vars 可以解决这个问题,但我的语法很糟糕。有什么想法吗?

<script>
var text = '&utm_day=monday';
var item = document.querySelectorAll('a').forEach;
  if (item.href.includes("example.com")) {
    item.href += text
  }
</script>

forEach 是一个接受回调作为参数的函数。你不能只做 .forEach

嗯,你可以,但你只是将整个 forEach 函数放在 item 中。所以现在 item 是一个函数。

然后你尝试获取该函数的属性 href。

这里:

var text = '&utm_day=monday';
document.querySelectorAll('a').forEach(function(item) {
  if (item.href.includes("example.com")) {
    item.href += text;
  }
});