<script>
for(X=0;X<OrderDetails.length;X++) {
var transactionProducts = [
{
'sku': OrderDetails[X][2],
'name': OrderDetails[X][3],
'category': 'none',
'price': OrderDetails[X][5],
'quantity': OrderDetails[X][6]
}];
}
dataLayer.push({'transactionProducts': transactionProducts});
</script>
此代码未正确执行。另外,如果我将其放在 GTM 内的自定义 HTML 标签上,它会显示 identifier Expected
。你能让我知道我在这里做错了什么吗?
最佳答案
您要小心,所有这些值始终存在,或者至少将每个推送包装在 try/catch 中。但是你的代码的直接问题是JS中没有数组理解,所以你的代码应该是:
//<![CDATA[
var transactionProducts = [];
for(X=0;X<OrderDetails.length;X++) {
transactionProducts.push({
'sku': OrderDetails[X][2],
'name': OrderDetails[X][3],
'category': 'none',
'price': OrderDetails[X][5],
'quantity': OrderDetails[X][6]
});
}
dataLayer.push({'transactionProducts': transactionProducts});
//]]>
关于javascript - 仅获取数据层中数组的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26718315/