javascript - 类型错误 : Illegal Invocation

标签 javascript reactjs google-analytics

我们正在运行一个 Create React App (CRA) Web 应用程序,我们已向其中添加了 Google Analytics v4。我们使用 ga-4-react 启动分析npm 包。 index.js 中的手动初始化

const ga4react = new GA4React(process.env.REACT_APP_GOOGLE_ANALYTICS_ID);

ga4react.initialize().then((ga4) => {
    ga4.pageview(window.location.path);
}, (err) => {
    Sentry.captureException(err);
});
我们从 gtag/js 收到数百个错误。文件到我们的 Sentry 错误监控平台。这个错误对我们来说并没有什么太大的意义,我们花了两天时间试图找出是否有人遇到过这样的问题,但到目前为止我们还是一无所获。它似乎也不会影响用户体验,但是对于我们来说监控它是相当烦人的。
错误会这样报告给 Sentry。
TypeError zq(gtag/js)
Illegal invocation

gtag/js in zq at line 477:453
{snip} ))}}},zq=function(a,b,c){var d=a+"?"+b;c?$c.sendBeacon&&$c.sendBeacon(d,c):pd(d)};var Eq=window,Fq=document,Gq=function(a){var b=Eq._gaUserP {snip}
我们还从 ga-4-react(上面代码片段中的 catch block )收到了同样多的错误。我们还尝试使用带有 react-helmet 的分析片段。 ,但结果相同。
此错误似乎是由许多平台(Android、Windows 10、OS X)上的许多浏览器(Chrome、Opera、Safari、移动浏览器)生成的,因此我们无法确定任何常见的特定路线、平台、浏览器这些用户。
我也尝试用 AdBlock 复制这个,阻止跟踪器,使用 Do Not Track,但没有。

最佳答案

在我们的网站上遇到了同样的问题。这个问题似乎源于 navigator.sendBeacon 被断章取义地调用,类似于来自 hackape 的评论。
就上下文而言,本文有一些关于 sendBeacon 及其作用的非常好的信息,包括对您所看到的错误的描述。
https://xgwang.me/posts/you-may-not-know-beacon/
在我们的案例中,我们只看到了 Type Error: Illegal Invocation,但没有看到他们提到的基于不同浏览器的其他错误消息变体。最后我们暂时在哨兵中忽略了它。

关于javascript - 类型错误 : Illegal Invocation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67224859/

相关文章:

javascript - functionname.arguments 在 Mozilla 中不起作用

reactjs - React hook useState 的 setter inside 函数不起作用

google-analytics - 多个移动平台的不同 Google Analytics 跟踪代码?

javascript - 在类上使用方法或在闭包中使用函数

google-analytics - 如何全局配置gtag中的维度/指标,以使其不会持续存在每个事件

Android Wear 谷歌分析

javascript - 滚动窗口/区域中没有跳跃拖动/调整对话框大小?

javascript - 将日期时间 javascript 绑定(bind)到表列

javascript - JQuery/Javascript 翻页

javascript - 重用具有不同样式的 React 组件