DTM:_satellite没有定义

时间:2015-02-07 06:11:57

标签: javascript jquery adobe adobe-analytics

我正在使用非顺序HTML Javascript /第三方标记,我使用以下脚本将数据传递给第三方标记。

<script>
   x = _satellite.getVar('Sub-Total');
</script>

我遇到的问题是没有数据传递给“x”。

我也尝试了以下内容:

<script>
   var x = $('td[data-hook="order_item_total"]').text().substring(1);
</script>

在这种情况下,我得到 $ 未定义。注意,当我在Javascript控制台中测试它时以及如果我使用非顺序Javascript标记时,这两种方法都有效。我需要添加什么来使其中任何一个工作?非常感谢您的帮助。

谢谢,

里德

1 个答案:

答案 0 :(得分:4)

问题是,当您将代码配置为非顺序HTML 时,代码会在iframe中动态输出。由于iframe不包含_satellite对象,因此尝试引用它会导致undefined错误。

如果您的代码包含需要输出的html和javascript的混合,并且您需要公开_satellite,则需要使用顺序HTML 标记。

或者,如果您标记中的代码纯粹是javascript,并且恰好包含在<script>标记中,那么只需删除<script>标记包装并将代码放在 Javacript中样式标记(如果它是顺序的或非顺序的,则无关紧要;两者都会_satellite接触它。)

注意:我在DTM文档中没有提到这一点(虽然我可能会失明!),但如果您打开浏览器的开发者控制台并查看实时/渲染DOM,您可以自己验证。我觉得至少应该在文档中提到这个警告。