gpt4 book ai didi

javascript - GTM JavaScript 编译器错误 ECMASCRIPT6

转载 作者:行者123 更新时间:2023-12-05 04:03:47 25 4
gpt4 key购买 nike

我的问题是关于我使用 JavaScript 将一些表单数据从 Webflow 发送到 Typeform。当我在 Google Tagmanager 中创建自定义 html 标签时,出现此错误:

JavaScript Compiler Error Typeform Tag
Error at line 3, character 1: This language feature is only supported for ECMASCRIPT6 mode or better: const declaration.

第4、5、6、13、14、15行出现同样的错误。

这是我的代码:

<script>
$( "#formbutton" ).click(function() {
const naam = $('#Naam-2').val();
const email = $('#Email-2').val();
const postcode = $('#Postcode-2').val();
Cookies.set('naam', naam, { expires: 30 } );
Cookies.set('email', email, { expires: 30 } );
Cookies.set('postcode', postcode, { expires: 30 } );
});

var Webflow = Webflow || [];
Webflow.push(function() {
const naam = Cookies.get("naam");
const email = Cookies.get("email");
const postcode = Cookies.get("postcode");
$('#naam').val(naam);
$('#email').val(email);
$('#postcode').val(postcode);
});
</script>

请分享您的想法或任何建议,我们将不胜感激! - 提前谢谢你。

最佳答案

constlet 是声明仅在 ES6(JavaScript 的一个版本)或更高版本中可用的变量的不同方法。 Google 跟踪代码管理器不支持 ES6,因为我今天在使用箭头函数的另一个 ES6 功能时发现了这一点。

在您的情况下,将 const 关键字或 let 的任何实例更改为关键字 var 可能会解决您的问题。

我看到您的实际问题是 cookie 同意,但如果有人在 GTM 中遇到 ES6 或 Ecmascript 6 错误。在线搜索 ES6 功能以寻找使用 ES5 的替代品。其他首字母缩略词是 ES2016 与 ES2015。不要问我关于命名约定的问题,因为它非常令人困惑。

另一个技巧是将您的代码粘贴到 BabelJS 的在线版本中,然后在您使用 ES2015 复选框时查看它会吐出什么。 BabelJS 是一个转译器/编译器,它采用 future 语法 JS 并将其转换为旧版本语法。比如看吐出来的前后代码:

原始 ES6 代码(使用箭头函数、const 和 let):

window.addEventListener("load", (event) => {
const myVariable = "text";
let anotherVariable = 8;
});

从 BabelJS 输出到 ES2015/ES5:

window.addEventListener("load", function (event) {
var myVariable = "text";
var anotherVariable = 8;
});

关于javascript - GTM JavaScript 编译器错误 ECMASCRIPT6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53302907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com