【发布时间】:2016-10-25 02:18:03
【问题描述】:
我正在编写一个简单的用户脚本,如果它包含特定的单词列表,它将自动隐藏 Facebook 帖子。核心功能有效,但我的MutationObserver 似乎没有正确读取mutation.addedNodes 的className。我遍历mutation.addedNodes 并检查这些元素中是否有任何元素具有userContentWrapper 类,但该测试的结果总是错误的——即使元素确实具有该类。
var startObserver = function() {
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
var added = mutation.addedNodes;
for (var i = 0; i < added.length; i++) {
if (/\buserContentWrapper\b/.test(added[i].className)) {
processFilter(added[i]);
}
}
});
});
var obj = {childList: true, subtree: true, attributes: true};
observer.observe(document.documentElement, obj);
};
我只能假设观察者正在分析添加的节点,然后才完全形成所有属性。如何让观察者等待处理节点,直到它完全完成?还是我不明白问题所在?
提前谢谢...
【问题讨论】:
标签: javascript dom mutation-observers