Google Tag Manager中出现错误:此语言功能仅支持ECMASCRIPT6模式或更高版本 [英] Error in Google Tag Manager: this language feature is only supported for ECMASCRIPT6 mode or better

查看:10
本文介绍了Google Tag Manager中出现错误:此语言功能仅支持ECMASCRIPT6模式或更高版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Google Tag Manager中收到以下错误消息:

Erro NA linha 3,caractere 13:此语言功能仅支持ECMASCRIPT6模式或更好的模式:const声明。

Erro NA linha 3,caractere 32:仅ECMASCRIPT6或更好的模式支持此语言功能:箭头功能。

添加此HTML代码段标记时

<script>
    window.addEventListener("load", function () {
        const URLToArray = url => {
            var request = {};
            var pairs = url.substring(url.indexOf('?') + 1).split('&');
            for (var i = 0; i < pairs.length; i++) {
                if (!pairs[i])
                    continue;a
                var pair = pairs[i].split('=');
                request[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
            }
            return request;
        }
        $(document).on("submit", "form", function (ev) {
            var params = URLToArray(window.location.href)
            if (params) {
                $('<input>').attr({
                    type: 'hidden',
                    name: 'field[2]',
                    value: params['utm_source']
                }).appendTo($(this));

                $('<input>').attr({
                    type: 'hidden',
                    name: 'field[3]',
                    value: params['utm_medium']
                }).appendTo($(this));

                $('<input>').attr({
                    type: 'hidden',
                    name: 'field[4]',
                    value: params['utm_campaign']
                }).appendTo($(this));

        $('<input>').attr({
                    type: 'hidden',
                    name: 'field[5]',
                    value: params['utm_term']
                }).appendTo($(this));                   
                
                $('<input>').attr({
                    type: 'hidden',
                    name: 'field[6]',
                    value: params['utm_content']
                }).appendTo($(this));
                
            }
        })
    })

推荐答案

这正是错误消息所说的意思,也就是说,您不能在大多数GTM中使用诸如const关键字或箭头函数之类的es6功能(自定义模板支持某些es6功能,这在这里对您没有帮助,因为模板无法操作DOM来添加表单域等)。

如果您替换

,解决方案应该足够简单
const URLToArray = url => { 
   // function body
}

var URLToArray = function() {
   // function body
}

箭头函数表达式创建一个名为url的函数,然后将该函数赋给一个变量(它是一个常量,这意味着不能重新分配变量名)。

更传统的方法是将匿名函数直接赋值给变量(之后可能会意外覆盖它)。

这篇关于Google Tag Manager中出现错误:此语言功能仅支持ECMASCRIPT6模式或更高版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆