Google Tag Manager中出现错误:此语言功能仅支持ECMASCRIPT6模式或更高版本 [英] Error in Google Tag Manager: this language feature is only supported for ECMASCRIPT6 mode or better
本文介绍了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屋!
查看全文