检查 null
似乎可行,但这是正确的方法吗?我怎样才能正确地检查那个对象没有死?死对象的定义在哪里?
最佳答案
这可能是由于持有僵尸隔间。如果您将 window
存储在变量中,您应该使用弱引用,否则它会使进程保持事件状态。
很棒的阅读就在这里:
https://developer.mozilla.org/en-US/docs/Zombie_compartments
这是使用弱引用的方法: https://developer.mozilla.org/en-US/docs/Components.utils.getWeakReference
死对象持有对 DOM 元素(通常)的强(保持事件)引用,即使在 DOM 中被销毁后该元素仍然存在。
有时检查它是否为 undefined 或 null 不起作用,我曾经看到并有时使用的一个技巧是检查 parentNode 是否存在(因此不为 null 或 undefined)。
关于javascript - 如何避免在我的 Firefox 附加组件中出现“"TypeError: can' t 访问死对象”状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041864/