У меня есть следующий код внутри расширения хрома:MutationObserver не получает все обновления
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.type === "childList") {
Log.Debug("mutation: Childlist:"+mutation.addedNodes.length);
forEach.call(mutation.addedNodes, function (addedNode) {
if (addedNode.classList !== undefined) {
if (addedNode.classList.contains('nja')) {
Log.Debug("DOM PD:"+addedNode.classList);
DoFancyStuff(addedNode);
}
}
}
}});
Это происходит на сайте, который добавляет содержимое динамически. (Google +). Все работает идеально, если пользователь прокручивается вниз и добавляется несколько новых элементов.
Если пользователь некоторое время отходит от браузера и нажимает на кнопку, которая отображает множество новых элементов, MutationObserver, похоже, пропускает некоторые узлы. Я могу проверить это поведение внутри окна отладки. (Несколько добавленных разделов с классом «nja» записываются на консоль, некоторые из них не являются)
Так что для меня кажется, что это работает только в том случае, если одновременно добавлено не так много div. Есть ли какая-либо конфигурация для изменения этого поведения?
(Потому что это хром расширение нужно только решение для хрома не для любого другого браузера)