Google 跟踪代码管理器中出现错误:此语言功能仅支持 ECMASCRIPT6 模式或更好模式

2023-12-09

我在 Google 跟踪代码管理器中收到以下错误消息:

错误 linha 3,字符 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 中使用 ES6 功能,例如 const 关键字或箭头函数(自定义模板中支持某些 ES6 功能,这对您没有帮助,因为模板无法操作DOM 添加表单字段等)

如果您替换,解决方案应该很简单

const URLToArray = url => { 
   // function body
}

with

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 跟踪代码管理器中出现错误:此语言功能仅支持 ECMASCRIPT6 模式或更好模式 的相关文章

随机推荐