Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Нужен повтор onLoad при динамической подгрузке страницы (https://javascript.ru/forum/events/33967-nuzhen-povtor-onload-pri-dinamicheskojj-podgruzke-stranicy.html)

Почемучкин 16.12.2012 07:29

Нужен повтор onLoad при динамической подгрузке страницы
 
window.onload срабатывает только один раз - когда страница заканчивает загружаться.

А как заставить его (или другое событие) срабатывать когда динамически добавленный контент заканчивает загружаться (например, вставленные изображения)?
Так как я не знаю что делают другие скрипты, то не могу это контролировать. Но мне нужно обрабатывать страницу после каждого обновления.

Deff 16.12.2012 07:42

Поставить onload на изо и вести подсчет срабатываний по кол-ву изображений.

Почемучкин 16.12.2012 14:44

Deff,
На какое изо? Изображение? Которое появилось уже после загрузки? Так в том и проблема, что после загрузки страницы, изображения и т.д. добавляет не мой скрипт. Я не могу добавить onload в элементы, которые еще не существуют. А вот момент, когда они появляются мне и надо узнать.

Плохо, что window.onload вызывается только один раз, хотя страница может подзагружаться многократно. Может еще какие-то события подскажете? Или хитрый трюк какой-то?

Deff 16.12.2012 15:49

Цитата:

Сообщение от Почемучкин
Плохо, что window.onload вызывается только один раз, хотя страница может подзагружаться многократно. Может еще какие-то события подскажете? Или хитрый трюк какой-то?

Проверяйте новые изо на страниц по таймауту 100 -200ms,
Наверно есть методы отслеживания добавки/изменения нового контента на страницу, нун рыть мануалы, хотя опыт по тайм-ауту при объемe HTML до 200-300 кБ вродь без тормозов

dmitriymar 16.12.2012 16:19

Цитата:

Сообщение от Почемучкин
Так в том и проблема, что после загрузки страницы, изображения и т.д. добавляет не мой скрипт

Цитата:

Сообщение от Почемучкин
Я не могу добавить onload в элементы, которые еще не существуют

если это скрипт не твой, но изображения добавляются не в фрейм а в твой сайт- в чём вопрос то?
изображения добавляются -изменяется количество тегов img на какие можно повесить событие onload
не изменяется количество после onloda страницы - навесить на существующие онлоад и смотреть какому блоку принадлежат изображения
можно использовать события изменения dom http://en.wikipedia.org/wiki/DOM_events

Почемучкин 17.12.2012 09:30

Deff,
Думал над этим, но сразу отбросил - это как-то некрасиво, грузить процессор постоянно (а понадобится ли вообще - неизвестно, может не будет ничего догружаться).

dmitriymar,
О, спасибо за наводку - как раз что надо. Правда DOMNodeInserted вызывается слишком часто при вставке каких-то тегов.
Но DOMSubtreeModified может решить проблему по крайней мере для некоторых браузеров, да и лучше сделать так, чтобы вызывалось не чаще, чем раз в 200 мс, например.


Часовой пояс GMT +3, время: 23:18.