Выполнение JS-кода после загрузки страницы (НЕ window.onload!)
Здравствуйте.
Суть вопроса такова: есть user-JS, подключаемый браузером (Опера), код в котором должен выполняться после загрузки DOM и выполнения всех JS-скриптов на загружаемой странице. Зачем это нужно: JS-код страницы генерит DOM, к которому необходимо обеспечить доступ, естественно, никакие window.onload и DOMContentLoaded не подходят для решения задачи. Собственно, этот момент и надо отловить. Заранее благодарен. |
Гм, вот так всегда: полдня гугления, создание ветки на форуме, и вот оно решение, рождающееся в муках чтения мануалов.
Вот что получилось: function initOnLoad(e) { //Проверка e.length необходима, если нужно знать, имеет ли элемент вложенные элементы. Если нужно лишь удостовериться в наличии элемента, то эту строку нужно убрать, а в startMonitoring() использовать getElementById if(e != null && e.length != 0) {loadComplete();} else {setTimeout(function() {initOnLoad(e);}, 0);} } function loadComplete() { //Действия после появления необходимого элемента в DOM } function startMonitoring() { //"Прослушиваемый" элемент e = document.getElementsByClassName(''); initOnLoad(e); } startMonitoring(); Сам код рассчитан на "прослушивание" одного элемента, но его не сложно модифицировать для группы (Например, реализовать в виде класса) |
Часовой пояс GMT +3, время: 04:39. |