Выполнение 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, время: 08:00. |