我使用的是非顺序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标记,这两种方法都可以工作。我需要添加哪些内容才能使这两种方法发挥作用?非常感谢你的帮助。
谢谢,
里德尔
发布于 2015-02-10 16:00:57
问题是,当您将标记配置为非顺序HTML时,代码将在iframe中动态输出。由于iframe不包括_satellite对象,试图引用它将导致undefined错误。
如果标记包含需要输出的html和javascript的混合,并且需要公开_satellite,则需要使用顺序HTML标记。
或者,如果您的标记中的代码实际上是纯javascript,并且恰好被包装在<script>标记中,那么只需删除<script>标记包装器,并将代码放入Javacript样式标记中(不管它是顺序的还是非顺序的;两者都会向其公开_satellite )。
备注:文档中没有提到这一点(尽管我可能是瞎子!),但是如果打开浏览器的开发人员控制台并查看实时/呈现的DOM,您可以自己验证这一点。我觉得至少应该在文档中提到这个警告。
https://stackoverflow.com/questions/28379214
复制相似问题