【发布时间】:2018-07-14 22:11:28
【问题描述】:
问题: 我从生产网页收到以下错误报告:
TypeErrores6-shim/es6-shim in process
null is not an object (evaluating 'n.parentNode.removeChild')
问题
在低层次上,最可能的情况是什么?
-
n是null(无论n是什么) -
n.parentNode是null -
arg是null在n.parentNode.removeChild(arg)
更多详情(如果相关):
我们正在使用 Sentry 错误报告系统来报告错误。
此错误发生在 Mobile Safari 和 Chrome Mobile 下。
源映射似乎已损坏,因此我不知道错误指的是 es6-shim 脚本的哪一行(很可能根本是 es6-shim 问题,因为在 es6-shim 代码中没有出现 removeChild )。
【问题讨论】:
-
放入一些调试代码以查看调用前的 n 是什么。唯一具有 null parentNode 的元素是文档本身。如果 arg 为 null,我预计会出现不同的错误,例如“arg must be a Node”或类似的。
-
@RobG: 任何你没有添加到 DOM 的元素(或者已经被移除)也有一个
nullparentNode,例如,document.createElement("div").parentNode是null。 -
@T.J.Crowder——是的,没想到。我也猜想从 DOM 中删除的任何节点都保留了引用。
-
@Piotr Sobczyk 如果您显示一些 html 和 js 代码将会很有帮助。
-
@AabirHussain 问题是我不知道我的源代码中的哪里抛出了异常。我所拥有的只是生产服务器报告的错误消息,代码中没有确切的位置。我的代码库中有几个带有 removeNode 的地方 + 它可能来自一些外部库。
标签: javascript exception web-applications sentry