Изменить элементы сразу после их отображения (не после полной загрузки страницы) в скрипте greasemonkey?

я имеюэтот скрипт, Он применяется на страницах фильма RottenTomatoes и изменяет 3 элемента
(1 видимый текст и 2 текста внутри подсказок).

В настоящее время (из-за greasemonkey's@run-at document-end) это изменяет элементытолько после полной загрузки страницы.

Кроме того, во многих случаях страницы RottenTomates задерживают загрузку, до 20 секунд (!),
так что это дополнительная задержка в моем сценарии.

Это вызывает две вещи:

задержка отображения измененного видимого текста, и это,если навести указатель мыши на любую из всплывающих подсказок до полной загрузки страницы, то после загрузки она, вероятно, будет содержать только исходный текст без моего добавления или только с моим добавлением.

Чтобы увидеть это, установитескрипт а затем посетитьэто типичная целевая страница.


Страницы RottenTomatoes загружают различный контент через XHR (как я видел в Firefox Netowork Monitor),
но 3 элемента (которые я хочу изменить) отображаютсянемедленно, не когда страница полностью загружена.


Я пытался использоватьMutationObserver следить за тем, чтобы конкретное текстовое значение появилось на экране, но, похоже, оно не работает. Его структура такова:

var target = selector_for_element_containing_text ;    // the selector is:  document.querySelector('.audience-info > div:nth-child(1)');
var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
       modifyElements();
   });
});
var config = { attributes: true, childList: true, characterData: true, subtree: true };
observer.observe(target, config);


function modifyElements(){  // This is just the current code of my script
    // modify element 1 
    // modify element 2         
    // modify element 3 
}

Как я могу изменить элементы сразу после их отображения?

Ответы на вопрос(1)

Ваш ответ на вопрос