javascript - 如何避免在我的 Firefox 附加组件中出现“"TypeError: can' t 访问死对象”状态?

标签 javascript object firefox-addon mozilla

检查 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/

相关文章:

javascript - 调用函数洞察函数/参数

javascript - 使用回车键提交并防止提交空文本

firefox-addon - 在 Firefox 扩展中切换工具栏

javascript - Javascript 上下文菜单?

javascript - 根据客户端本身发送的标准,使用 SignalR 和 SQLDEPENDANCY 仅向特定用户推送通知

java - 如何打印存储在数组中的对象的实例

java - 处理特定项目的唯一 ID 的类 -> 是否抽象?

python - type() 是内置函数吗?

firefox-addon - 在 Firefox 扩展中更改 'fly' 上的 Html 页面内容

html - 如何获取最新版本的 Firefox 插件的链接?