如何在页面上获取所有活动的突变观察者?

问题描述

我检查了API,但找不到使用javascript获取页面上活动突变观察者列表的方法。有可能吗?

解决方法

如果您像这样扩展MutationObserver(未测试)怎么办:

class TrackedMutationObserver extends MutationObserver {

    static instances = []

    constructor(...args) {
        super(...args);
    }

    observe(...args) {
        super.observe(...args);
        this.constructor.instances.push(this)
    }

    disconnect() {
        super.disconnect();
        this.constructor.instances = this.constructor.instances.splice(this.constructor.instances.findIndex(instance => instance === this),1)
    }

    static getActive() {
        return this.instances
    }
}

而不是使用MutationObserver实例化TrackedMutationObserver