在我最近一直在研究的项目(BackboneJS单页面网络应用程序)中,我已经包含了奇怪的行为,可能是由于zombie handlers和一些stale element exception(zombie DOM元素)。我想知道是否有任何方法可以轻松检测到这些错误?
我现在更喜欢在NodeJS平台上开发。所以Mocha和ZombieJS用于测试,Express / Mongoose / Backbone(如果重要的话)
更新
@DerickBailey:我想知道是否有可用于检测此类问题的自动化工具?目前,我遇到问题时才发现它们。我正在寻找可以检测到这些问题的东西,如果可能的话,没有我的干扰,例如。如果我需要写一个测试,我可能会错过一些东西。也就是说,如果可能的话
答案 0 :(得分:1)
我没有使用它,但是从Google发现了这个项目 - leak-finder-for-javascript。
希望它有所帮助!
答案 1 :(得分:0)
我能想到的唯一真正的选择是将addEventListener和removeEventListener存储到Window.prototype的其他属性中(我只假设所有其他add / removeEventListeners继承自的地方),然后覆盖原件以便您可以将ID附加到事件绑定元素,用于跟踪已删除或尚未删除的内容,并将eventListener参数传递给您的备用项,并在您执行id附加/分离/跟踪voodoo后传递args并触发备用项。
我不建议在生产中以这种方式保留add和removeEventListener。使其成为某种调试模式的一部分。