首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Errors: Dead object

信息

代码语言:javascript
复制
TypeError: can't access dead object

错误类型

TypeError

什么地方出了错?

为了提高内存使用率并防止内存泄漏,Firefox不允许附加组件在其父文档被销毁后保留对DOM对象的强引用。一个死对象,持有一个强壮的(保持活着)的DOM元素的引用,即使它在DOM中被销毁之后仍然存在。为了避免这些问题,引用外部文档中的DOM节点应该存储在特定于该文档的对象中,并在文档被卸载时被清除,或者被存储为弱引用

检查一个对象是否死亡

Components.utils提供了一个isDeadWrapper()特权代码可能使用的方法。

代码语言:javascript
复制
if (Components.utils.isDeadWrapper(window)) {
  // dead
}

无特权的代码无法访问Component.utils,可能只是能够捕获异常。

代码语言:javascript
复制
try {
  String(window);
}
catch (e) {
  console.log("window is likely dead");
}

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com