【发布时间】:2023-03-24 05:49:01
【问题描述】:
我目前在我的错误监控工具 Sentry 上收到一个奇怪的 JavaScript 错误,上面写着 can't redefine non-configurable property "userAgent"。
似乎错误发生在多个页面上,但仅在 Firefox 上。此外,在所有错误中,引荐来源页面似乎都是“https://www.startpage.com/”。
但是,我无法重现错误并且不知道是什么导致了错误,因为我没有对 navigator.userAgent var 进行任何分配。
是否还有其他人也有这个问题,或者有任何线索可能导致这个错误?
【问题讨论】:
-
这个很神秘。我的应用程序上也有它,我花了一段时间才弄清楚发生了什么。你碰巧在做任何浏览器检测吗?即使您没有分配给 navigator.userAgent,您是否试图用它来嗅探浏览器?
-
是的,我确实有一个像
navigator.userAgent === 'native'这样的用户代理检查。我将本机应用程序的 webview 中的用户代理设置为“native”,以便能够检测我的网站是在普通浏览器中还是在我的应用程序的 webview 中访问。但是在使用我的本机应用程序时不会发生错误,只是通过 Firefox 浏览器。您认为检查仍然会导致问题吗? -
Firefox 扩展/设置可能会干扰用户代理。这篇文章非常有用地解释了我们不应该使用 userAgent 来确定浏览器,甚至是移动设备。 developer.mozilla.org/en-US/docs/Web/HTTP/… 所以对我来说,我的猜测是用户在 Firefox 中有一个设置或扩展,允许他们覆盖他们的 userAgent,也许这会登录到控制台,因为我们使用 userAgent 来获取浏览器信息。
-
@EstherCuan 非常有趣!感谢您的信息! :)
-
在过去的几个月里,我曾两次在 Sentry 中收到有关此错误的报告。 Firefox 86 和 85,但不知道原因是什么。 Sentry 事件中提供的信息很少。尚未为此活动创建门票。我不在应用程序代码中使用
userAgent,它被依赖项使用,所以我的第一步是升级它们。我会尝试在 Sentry 中获取更多信息。然后我们等待????
标签: javascript firefox navigator