Наблюдатель мутации вызывает бесконечный цикл - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь изменить изображения веб-сайта, который использует реагирует, получает изображения через API и создает галерею с помощью Mutation Observer, но вызвал ошибку бесконечного цикла.Результат, который я имею с этим кодом, таков:

РЕЗУЛЬТАТ

herehttp://www.image.com/image.jpg
hereherehttp://www.image.com/image.jpg
herehereherehttp://www.image.com/image.jpg
hereherehereherehttp://www.image.com/image.jpg
herehereherehereherehttp://www.image.com/image.jpg
hereherehereherehereherehttp://www.image.com/image.jpg
herehereherehereherehereherehttp://www.image.com/image.jpg

КОД

document.addEventListener('DOMContentLoaded',function(){

const muta = document.querySelector("#root");
const observer = new MutationObserver(function(mutations) {

           mutations.forEach(function (mutation) {

                mutation.addedNodes.forEach(function (node) {

                    if (typeof node.getElementsByTagName !== 'function') {
                        return;
                  }

                  let section = document.getElementsByTagName('section')[0];
                  let images = section.getElementsByTagName('img');

                  Array.from(images).forEach(function(image){
                    let newimg =  'here'+image.src;
                    if(image.src !== newimg){

                      image.src = newimg;
                    }

                  });


            });

         });       

});

var observerConfig = {
  attributes: true,
  childList: true,
  attributeOldValue: true,
  characterData: true,
  subtree: true
}
observer.observe(muta, observerConfig);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...