什么软件管理/拥有“registerDomMutation”?

问题描述

最近,在我正在开发的一个软件中,我从客户那里收到了大量 Sentry 错误,我很难确定这些错误。具体错误是这样的:

Non-Error promise rejection captured with value: 'registerDomMutation' is not defined

特定错误似乎是由 Sentry 本身在试图捕获其他问题时生成的。真正让我陷入困境的是我无法追踪 registerDomMutation调用的位置,或者应该定义它的软件。它似乎不是 Sentry 的一部分;我知道它不在我的代码中;它似乎不在我使用的任何软件包中。听起来它可能是某种浏览器方法,但我找不到任何有关它的信息。此错误似乎仅出现在新版 iOS Safari (14.3) 中,但也并非始终如一。

有人熟悉这种方法吗?你能指出我正确的方向吗?

解决方法

我相信它们来自 Klarna 应用程序的内部 WebView。我似乎找不到该应用程序的任何源代码来证明这一点。但是在所有错误的 userAgent 字符串之间共享的重复 Klarna/<some version> 模式让我这么认为。

该应用的 Android 版本也受到影响。我猜他们正在共享相同的 JS 代码。

对于允许在我的页面上运行的脚本,我有严格的 CSP 规则,我猜应用程序依赖的某些代码由于它们而无法运行。