1
14
在GTM将代码包装到最小化的JavaScript文件中以将其注入页面之前,代码要经过一个过梁;这里的问题是,谷歌有时会更改linter的规则,使其更加严格(这在GTM论坛上出现过几次)。由于这并没有在任何地方公布,所以它偶尔会破坏以前工作过的标签。 这里的问题似乎是在if/else块中标记声明函数。当您“美化”文件时,可以看到:
“l”函数是在“else”块中声明的,而谷歌的linter不喜欢这样(因为以前的Javascript版本在技术上没有函数的块范围,这只在ES6中引入)。 虽然我确信有一个正确的方法来解决这个问题,但一个简单的方法是将“l”的声明移到块外:
看起来不应该有副作用,标签现在可以工作了(至少在我尝试的时候)。 |
2
4
下面是根据@ruben stolk的建议给出的完整答案。您还需要在新函数的末尾插入分号,如下面的代码段所示。这在GTM中进行了测试,并通过了lint错误。
|
3
1
您可以尝试更改代码
到
|
localhost · 使用angular app通过GTM匿名化IP 6 年前 |
chdonncha · 内部通信ECMAScript 6标记管理器错误 6 年前 |
Toon · Ajax完成后GTM触发自定义标记 6 年前 |
Klikerko · 如何使用JS刮取页面并将变量推入GTM数据层 7 年前 |
Asim · PHP JSON结构不正确 7 年前 |