gpt4 book ai didi

security - 检测、更改或删除现有的变异观察者

转载 作者:行者123 更新时间:2023-12-04 20:42:58 29 4
gpt4 key购买 nike

如果某个 JS 添加了一个突变观察者,其他 JS 是否有可能检测、删除、替换或更改该观察者?我担心的是,如果某些 JS 旨在破坏某些 DOM 元素而不被发现,那么 JS 可能想要摆脱任何观察该 DOM 元素的观察者。

最佳答案

我不确定检测是否已经安装了观察者,但是可以通过使用空函数重新观察感兴趣的节点来有效地删除它们。如果存在,重新观察节点将替换先前的观察者功能。

var observerRef = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;

// Empty function here to replace whatever might have been installed on targets
var observer = new observerRef( function (mutations) { } );

// Could also be id=someid, etc
var targets = document.querySelectorAll('[class=someclassname]');

// Update/replace the observers on all the targets
for(var i = 0; i < targets.length; ++i) {
observer.observe(targets[i], { attributes: true, childList: true, characterData: false } );
}

关于security - 检测、更改或删除现有的变异观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22826657/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com