- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题是关于我使用 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>
请分享您的想法或任何建议,我们将不胜感激! - 提前谢谢你。
最佳答案
const
和 let
是声明仅在 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/
我正在尝试为我的组件中声明的数组分配一个值。不幸的是,抛出了异常。 TypeError: Attempted to assign to readonly property 即使我删除了严格模式,仍然会
如果我将一个类导入到其他脚本中,我如何将参数传递给 ES6 语法中的类构造函数? 我想做这样的事情。我已经看到了各种建议,例如包装函数或使用工厂模式,但是否有更简洁、更简单的方法来做到这一点? //
我最近看了 ECMAScript 2015。 ECMAScript 2015 有类初始化器吗? 例如,我试着把类写得像一个解析器; class URLParser { parse(url) {
我目前正在尝试弄清楚为什么 JSDT 会发布类似“JavaScript error on valid regex”的错误'. 在我进行测试时,我意识到它适用于像这样的简单文件: var a = {
有一段时间我认为它们是同一回事,但我经常看到博客或此处的答案中的措辞似乎暗示两者之间存在差异。即使 SO 有两个不同的标签,但它们的描述并没有显示出任何明显的区别。 我四处搜索了一下,这只会增加困惑,
我最近使用了最新的 Laravel 5.3。在 gulp.js文件,有较新的 ES6 箭头函数语法: elixir(mix => { mix.sass('app.scss') .
在 block 作用域函数方面,ES6 相对于 ES5 有哪些优势?我的意思是,在这两种情况下,该 block 看起来非常相似,那么它有什么区别,性能方面哪种方法更好? ES6 block {
所以,我知道在 GWT 中我可以编写纯 javascript 代码的 JSNI 代码。但是,不幸的是,如果我在其中使用 ES6 代码,JSNI 代码将无法编译。 这意味着,例如,我不能做这样的事情:
所以,我知道在 GWT 中我可以编写纯 javascript 代码的 JSNI 代码。但是,不幸的是,如果我在其中使用 ES6 代码,JSNI 代码将无法编译。 这意味着,例如,我不能做这样的事情:
如何在 Visual Studio Code 中编写 ECMAScript 代码??我尝试编写 jsconfig.json 但不确定如何运行该文件。我什至尝试更改 tasks.json 但即使那样也无
尽管事实是const不能在 ECMAScript 2015 中赋值,如果对象没有被卡住,可以修改 Object.freeze . 自 const应该是不可变的,添加 Object.freeze 有意义
当我打开我的项目 .js 文件时,会出现以下警告: File watcher 'Babel' is available for this file. Description: 'Transpiles
我接受了 JavaScript 前端开发人员职位的面试。我失败了,因为我不知道一些高级问题。请帮助我至少理解这一点。 我的问题在于 ECMAScript 6 知识,而不是 ECMAScript 5 中
本文介绍ECMAScript 6即将带给我们新的数组操作方法,以及在怎样在现有浏览器应用这些新的数组特性。 Note: 我将使用交替使用构造器(constructor)和类(class)两个术语。
我指的是 https://tc39.es/ecma262/#sec-regexp-regular-expression-objects 中定义的 ECMAScript 正则表达式语法. 我通过几个在线
我有多个名为 PageX 的文件, PageY , PageZ等等 每一个都有一个 export default SETUP { path:'blah_X', component:X } . 在我的
也许这是一个基本问题,但是两者之间有什么区别: -在ES3支持下开发的一个Web项目, -在ES5支持下开发的Web项目? 换句话说,如果您支持ES5,则可以在项目中添加哪些增强功能? 最佳答案 在这
这个问题在这里已经有了答案: One-liner to take some properties from object in ES 6 (12 个答案) 关闭 6 年前。 是否有一个我正在空白的单
一段时间以来,我一直在使用 ES6 提供的模块。虽然我(本能地)知道最好使用它们,但我很难解释为什么。 带模块; 我可以做依赖声明(不是注入(inject))。我不必为我加载的每个 javascrip
从不可变映射中获取多个值的最佳方法是什么? const example = new Map({ id: 1, first: 'John', last: 'Smith',
我是一名优秀的程序员,十分优秀!