|
событие, которое срабатывает при изменении DOM структуры
ситуация такая. Есть html страничка, которая при старте подгружает несколько .js файлов (js`ники писал не я).
Следующим шагом происходит get запрос, который очевидно генерируется в одном из js файлов. В ответе - text/javascript функция, которая забивает данными определённый div. Моя задача заключается в следующем. Нужно перед вставкой данных из ответа обработать эти данные нужным мне образом и только потом вставить... триггер получается. Функцию, которая генерирует этот запрос, мне найти не удаётся (js-ники сильно перекручены). Соответственно доступа к функции-обработчику ответа у меня тоже нет. Но данные, полученные в respons`е мне нужно подкорректировать (доступа к php файла сервера нет, можно редактировать только js). Решение, которое приходит в голову - в window.onload отслеживать нужный мне div и, если в div были вставлены данные, то вызвать свою функцию, подкорректировать эти данные и вернуть обратно. Так вот как отследить изменение контента div`а я не знаю. Может кто-то ещё идею подкинет? Может в onload`e считать количество детей этого дива... |
var old = node.innerHTML; setInterval(function () { if (node.innerHTML != old) { /* handler */ } }, 100); |
Функцию, которая генерирует этот запрос, мне найти не удаётся поищите получше. Эту функцию фиг скроешь. Библиотека какая то используется, jQuery например ? p.s. вообще ваша деятельность - подозрительна - не доплатили программисту что ли ? |
exec, жестокая такая проверка. Тормозить работу не будет?
|
micscr, не будет.
|
2 exec:
спасобо за вариант решения буду пробовать. Вопрос ещё по ходу - нельзя ли при срабатывании if в конце блока удалить setInterval, чтобы вдальнейшем не делала лишних проверок? 2 micscr: подгружаются 2 js файла. оба используют jquery. функции в них начинаются так: function($){}(jquery), и внутри функций активно используются методи jquery. В этих js файлах для того, чтобы найти запрос я искал следующие функции/переменные : XmlHttpRequest, $.get, $.post, load(), getJSON(), getScript(). Такого там не было. Такой ещё вопрос. Как могут эти файлы использовать библиотеку jquery, если на клиента она не подгружалась? (смотрел в Fiddler`e) |
нельзя ли при срабатывании if в конце блока удалить setInterval, чтобы вдальнейшем не делала лишних проверок? конечно можно удалить. var inter = setInterval ... if (больше не надо) { clearInterval(inter); } Как могут эти файлы использовать библиотеку jquery, если на клиента она не подгружалась? должна была подгрузиться. Без неё бы не работало, а ведь работает? Смотри в FireBug-е. XmlHttpRequest, $.get, $.post, load(), getJSON(), getScript(). Такого там не было. А .ajax не искал? Поищи еще по расширению - php. И вообще - просмотри $(document).ready() - там скорее всего такая подгрузка инициируется. Можешь ссылку дать - вместе посмотрим. |
Вариант exec хорош, только если например будет модификация атрибутов то триггер тоже стработает.
|
http://tour-consulting.com.ua/samo/index.html
Вот этот сайт. Только я не в firebug`e смотрел, а в fiddler`e |
подзашифровано там просто пакером. jQuery есть.
|
Часовой пояс GMT +3, время: 03:29. |
|