Javascript GTM,对象描述错误?是否仅支持ECMAScript 6模式?
我正在尝试使用GTM将数据从webVitals发送到google analytics 使用此软件包:Javascript GTM,对象描述错误?是否仅支持ECMAScript 6模式?,javascript,google-tag-manager,web-vitals,Javascript,Google Tag Manager,Web Vitals,我正在尝试使用GTM将数据从webVitals发送到google analytics 使用此软件包: 函数sendtogleanalytics({name,delta,id}){ //假设全局“gtag()”函数存在,请参阅: // https://developers.google.com/analytics/devguides/collection/gtagjs gtag(“事件”,名称{ 事件类别:“网络重要信息”, //“id”值对于当前页面加载是唯一的。发送时 //来自同一页面的多个
函数sendtogleanalytics({name,delta,id}){
//假设全局“gtag()”函数存在,请参阅:
// https://developers.google.com/analytics/devguides/collection/gtagjs
gtag(“事件”,名称{
事件类别:“网络重要信息”,
//“id”值对于当前页面加载是唯一的。发送时
//来自同一页面的多个值(例如,对于CLS),Google Analytics可以
//按此ID分组计算总数(注意:需要'eventLabel'才能
//在您的报告中成为一个维度)。
事件标签:id,
//Google Analytics度量必须是整数,因此该值是四舍五入的。
//对于CLS,该值首先乘以1000以获得更高的精度
//(注意:如果需要,增加倍增器以获得更高的精度)。
值:Math.round(名称=='CLS'?delta*1000:delta),
//使用非交互事件以避免影响反弹率。
非互动:正确,
});
}
addEventListener('DOMContentLoaded',函数(){
webVitals.getCLS(sendtogleanalytics);
webVitals.getFID(sendtogleanalytics);
webVitals.getLCP(sendtogleanalytics);
});
GTM正在抱怨:第3行错误,字符38:只有ECMASCRIPT6模式或更好的模式才支持此语言功能:对象分解
我认为问题在于函数调用。我尝试将函数修改为:
var sendtogogleanalytics=函数({name,delta,id}){
似乎这不是问题所在。有人能指出linter不喜欢什么吗?您需要使用变量名作为参数,然后访问引用该变量名的属性
function sendToGoogleAnalytics (data) {
...
gtag('event', data.name, {
...
如果您在GTM中测量Web重要信息,我推荐Simo Ahava概述的方法: 他为您上面引用的代码编写了自定义模板,因此您不必担心如何安装它
function sendToGoogleAnalytics (data) {
...
gtag('event', data.name, {
...