JS代码中的错误,用于通过Magento的GTM集成增强的电子商务



我目前正在通过Google Tag Manager在Magento网上商店集成Google Analytics增强型电子商务。

我正在使用Panalysis中的扩展和指南:https://www.panalysis.com/resources/tag-manager-plus-user-manual/part-2c-set-gtm-tags

目前,我面临此代码的问题:

<script>
(function(){
function sendOneStepCheckout(obj){
dataLayer.push({
event: 'onestepcheckout',
ecommerce: obj
});
}
function hasClass( elem, clas ) {
try {
return (" " + elem.className + " " ).indexOf( " "+clas+" " ) > -1;
}catch(e){return false}
}
function checkActiveStep(){
var step2=document.getElementById('opc-login');
if (hasClass(step2, 'active')){ return '2' }
var step3=document.getElementById('opc-billing');
if (hasClass(step3, 'active')){ return '3' }
var step4=document.getElementById('opc-shipping');
if (hasClass(step4, 'active')){ return '4' }
var step5=document.getElementById('opc-shipping_method');
if (hasClass(step5, 'active')){ return '5' }
var step6=document.getElementById('opc-payment');
if (hasClass(step6, 'active')){ return '6' }
var step7=document.getElementById('opc-review');
if (hasClass(step7, 'active')){ return '7' }
}
var currentStep = '2';
try {
var ec = {{DL - ecommerce}};
var cos = ec.checkout.actionField.step;
if (cos == '1') {
ec.checkout.actionField.step = '2';
sendOneStepCheckout(ec);
}
if (cos == '2') {
sendOneStepCheckout(ec);
}
function timeout() {
setTimeout(function () {
var activeStep = checkActiveStep();
if (activeStep != currentStep){
var ec = {{DL - ecommerce}};
ec.checkout.actionField.step = activeStep;
sendOneStepCheckout(ec);
currentStep = activeStep;
}
timeout();
}, 1000);
}
timeout();
} catch(e){console.log(e.message)}
})();
</script>

Google 跟踪代码管理器报告第 43 行第 2 个符号出现错误:

"此语言功能仅支持ECMASCRIPT6模式或更好的模式:块范围的函数声明。使用 --language_in=ECMASCRIPT6 或 ECMASCRIPT6_STRICT 或更高版本来启用 ES6 功能。

我尝试搜索错误消息但没有成功。

谁能告诉我如何解决这个问题?我在这里用头撞墙..

此致敬意 基督教。

尝试删除<script>标记,有时如果 Google 跟踪代码管理器显示的代码不是严格的 JS 语法,它就会起作用。

最新更新