0

angularjs アプリの Google タグ マネージャーを介して追跡を実装しようとしています。tag-manager で定義されたクリック リスナーを使用すると、次のスクリプトがクリックごとにアプリに挿入されます (またはそのように思われます)。

(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 によって??)。

この再帰に遭遇することなく、Googleタグマネージャーでクリックリスナーを実装する方法はありますか?

4

1 に答える 1

2

原因は Chrome Extension Tag Assistantであることが判明しました。アンインストールした後、通知と別のバグがなくなりました。

于 2014-11-12T14:58:11.503 に答える