使用客户端javascript监视添加到文档的新元素

时间:2016-02-17 19:49:18

标签: javascript object.observe

几个月前我使用Object.observe()来监控来自window.document的任何递归更改。现在O.o()退出em6 +,我需要自定义此行为。我需要访问在文档中任何位置创建的新元素。

我已尝试过这些项目(有效,但没有子递归):

https://github.com/MaxArt2501/object-observe

https://github.com/jdarling/Object.observe

https://github.com/jdarling/Object.observe

我从Mozilla MDN读取使用proxy https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy我不确定要使用哪个陷阱,或者如何使其递归。

以下是我与O.o()一起使用的确切代码:

                    var observer = new MutationObserver(function (mutations) {
                        mutations.forEach(function (mutation) {
                                console.log("Observed Mutation:");
                                //mutation.target
                                //mutation.type
                                //mutation.oldValue
                                //mutation.attributeName
                                //mutation.attributeNamespace
                                //mutation.removedNodes
                                //mutation.addedNodes
                        });
                    });

                    //mutation observer configuration
                    var config = {
                        childList: true,
                        attributes: true,
                        characterData: true,
                        subtree: true,
                        attributeOldValue: true,
                        characterDataOldValue: true
                        attributeFilter: false
                    };

                    // pass in the target node and options to mutation observer
                    observer.observe(document, config);

使用或不使用polyfill时,我可以访问新创建的对象的最小代码量是多少?

1 个答案:

答案 0 :(得分:0)

通过irc.freenode.net ## javascript从以下网址找到答案:jaawerth

https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver