0

我们正在尝试通过 google 标签管理器为 angularjs 应用程序实现跟踪。当使用标签管理器中定义的点击监听器时,以下脚本会在每次点击时注入应用程序(或者看起来如此):

(function (a)
{
    var b = {}, c;
    for (c in a || {})if (a.hasOwnProperty(c) && "undefined" != typeof a[c])try {
        b[c] = JSON.stringify(a[c])
    } catch (d) {
        console.log("Cannot stringify " + c)
    }
    a = document.createEvent("CustomEvent");
    a.initCustomEvent("RetrievedVariablesEvent", !0, !0, {variables: b});
    window.dispatchEvent(a)
})({'studioV2': window['studioV2'], 'richMediaIframeBreakoutCreatives': window['richMediaIframeBreakoutCreatives'], 'dataLayer': window['dataLayer']})

跟踪点击"Cannot stringify dataLayer"时会发生错误。这样做的原因是,随着单击,元素也被发送,它具有对自身的循环引用,因为子引用和父引用附加到对象(可能通过 jquery ??)。

任何想法如何使用谷歌标签管理器实现点击侦听器,而不会遇到这种递归?

4

1 回答 1

2

原来,原因是 Chrome Extension Tag Assistant。卸载它后,通知以及另一个错误消失了。

于 2014-11-12T14:58:11.503 回答