'无法字符串化dataLayer'当使用谷歌标签管理器'点击监听器'在angular j
'Cannot stringify dataLayer' when using Google Tag Managers 'click-listener' in angular-js app
我们正试图通过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??)。
有什么想法可以用谷歌标签管理器实现点击监听器,而不会遇到这种递归?
原来原因是Chrome扩展标记助手。卸载后,通知以及另一个错误都消失了。
相关文章:
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何访问声音管理器2创建的声音对象
- JS编译器/包管理器,用于版本控制
- 使用相同的上传器angular上传多个文件
- Modx数据包管理器ext-all.js错误
- 根据单个用户的决定禁用谷歌标签管理器(选择退出)
- jquery在通过谷歌标签管理器交付时点击不工作
- 删除$fromtataLayertotal-google标签管理器
- 资源管理器9上的html5视频缓存
- 如何在 elfinder(一个 jquery 文件管理器插件)中只显示文件夹列表
- 在全局声音管理器对象上完成
- Web 驱动程序管理器更新错误:EACCES,权限被拒绝
- 声音管理器2 - 停止声音时失真
- 谷歌跟踪代码管理器使用什么模式来观察 de 'dataLayer' 数组
- 为什么谷歌跟踪代码管理器不能安装在正文下的另一个HTML元素中
- Connect资产管理器文件与req.url不匹配
- 谷歌标签管理器点击事件没有冒泡到家长
- '无法字符串化dataLayer'当使用谷歌标签管理器'点击监听器'在angular j
- 在angular js中使用电池管理器
- Angular 的错误消息“无法实例化模块”仅在资源管理器中