如何访问dataLayer变量
How to access dataLayer variables
在我们的网站上,我们有一个数据层来定义要传递给Google Analytics的一些变量。它是这样定义的:
deviceCategory: "DESKTOP"
deviceMode: "DESKTOP"
domainName: ".mydomain.com"
environment: "production"
operatingSystem: "UNKNOWN"
page.category.pageType: "Content"
page.category.primaryCategory: "main"
page.pageInfo.language: "en"
page.pageInfo.pageID: "productSelection"
user.profile.address.city: "Los Angeles"
user.profile.address.country: "US"
当我在控制台中键入以下内容时,它的输出完全符合预期:dataLayer[0].设备模式-->"DESKTOP"
但是,当我尝试访问任何页面/用户变量时,我会出现错误:dataLayer[0]page.category.pageType-->未捕获类型错误:无法读取未定义的属性"category"
知道为什么会发生这种事吗?访问这些值的正确方式是什么?
您使用的键只是带点的字符串。它们不是对象的一部分,所以你需要这样访问:
dataLayer[0]['page.pageInfo.language']
使用方括号。
编辑:请注意,这不是你在GTM中会做的事情(但也许不需要更多评论,因为你没有问这个问题)。
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 全局变量和全局对象的属性之间有什么区别吗
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 值对象在某个变量发生更改后发生更改
- Javascript变量赋值|
- AngularJS-在JSON选择器中使用变量名
- Javascript计数器变量未显示正确的值
- delete关键字在全局变量上的不同行为
- 如何在php变量中嵌入JQuery代码
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在javascript函数中设置全局变量
- 如何访问dataLayer变量
- 如何将google DataLayer转换为具有变量键值的javascript对象