我正在使用非顺序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标记时,这两种方法都有效。我需要添加什么来使其中任何一个工作?非常感谢您的帮助。
谢谢,
里德
答案 0 :(得分:4)
问题是,当您将代码配置为非顺序HTML 时,代码会在iframe
中动态输出。由于iframe
不包含_satellite
对象,因此尝试引用它会导致undefined
错误。
如果您的代码包含需要输出的html和javascript的混合,并且您需要公开_satellite
,则需要使用顺序HTML 标记。
或者,如果您标记中的代码纯粹是javascript,并且恰好包含在<script>
标记中,那么只需删除<script>
标记包装并将代码放在 Javacript中样式标记(如果它是顺序的或非顺序的,则无关紧要;两者都会_satellite
接触它。)
注意:我在DTM文档中没有提到这一点(虽然我可能会失明!),但如果您打开浏览器的开发者控制台并查看实时/渲染DOM,您可以自己验证。我觉得至少应该在文档中提到这个警告。