我的问题是,我使用JavaScript将一些表单数据从Webflow发送到Typeform。当我在中创建一个自定义html标记时,我会得到以下错误:
JavaScript编译错误类型标签 错误在第3行,字符1:此语言特性只支持ECMASCRIPT6模式或更高版本: const声明。
同样的错误发生在第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>请分享你的想法或建议,会非常感激的!-提前谢谢你。
发布于 2020-11-05 19:55:23
const和let是声明变量的不同方法,只在ES6 (JavaScript的一个版本)或更高版本中可用。Google不支持ES6,正如我今天使用箭头函数的另一个ES6特性时发现的那样。
在您的示例中,将const关键字或let的任何实例更改为关键字var可能会解决您的问题。
我看到您的实际问题是cookie同意,但是如果有人在GTM中遇到ES6或Ecmascript 6错误。在线搜索ES6功能,以便使用ES5进行替换。其他缩略语是ES2016 vs ES2015。别问我关于命名惯例的事,因为它太让人困惑了。
另一个窍门是将您的代码粘贴到BabelJS的在线版本中,并查看使用ES2015复选框时它会显示什么。BabelJS是一个转换程序/编译器,它采用未来的语法JS并将其转换为较旧的版本语法。例如,请参阅被吐出的前后代码:
原始ES6代码(使用箭头函数、const和let):
window.addEventListener("load", (event) => {
const myVariable = "text";
let anotherVariable = 8;
});从BabelJS输出到ES5 2015/ES5:
window.addEventListener("load", function (event) {
var myVariable = "text";
var anotherVariable = 8;
});发布于 2022-07-24 06:36:18
我将es6代码转换为js vanilla 的旧版本,尝试以下工具:
https://stackoverflow.com/questions/53302907
复制相似问题