<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/