Я написал скрипт пользователя для последней версии браузера Chrome. Похоже, что скрипт не может получить измененное содержимое страницы после загрузки (например, после загрузки страницы я нажал «sth» и всплыло встроенное окно).
Даже если бы я использовал window.setTimeout()
, я все равно не могу получить обновленный контент в обратном вызове таймера через document.getElementById()
. Я проверил страницу и обнаружил, что всплывающий элемент существует в DOM.
Это ограничение пользовательского скрипта? Или некоторые другие методы могут быть использованы для получения обновления в сценарии пользователя?
Обновление:
Я попытался DOMSubtreemodified
событие, как предложено. Но поведение все еще странно.
Я добавил только одну строку JavaScript в usercript для my.safaribooksonline.com,
document.addEventListener("DOMSubtreeModified", function () {
alert(eval('typeof OpenSignInPopup')); });
Но в окне предупреждения отображается "undefined" как результат оценки OpenSignInPopup
. Но я могу одновременно запустить оператор оповещения в консоли скрипта на той же странице и показать результат как «функция».
Эта функция не была загружена при первом запуске пользовательского скрипта. Так как я могу использовать его в сценарии пользователя?