Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.06.2010, 15:29
Аспирант
Отправить личное сообщение для amigo* Посмотреть профиль Найти все сообщения от amigo*
 
Регистрация: 25.05.2010
Сообщений: 39

событие, которое срабатывает при изменении DOM структуры
ситуация такая. Есть html страничка, которая при старте подгружает несколько .js файлов (js`ники писал не я).
Следующим шагом происходит get запрос, который очевидно генерируется в одном из js файлов. В ответе - text/javascript функция, которая забивает данными определённый div.

Моя задача заключается в следующем. Нужно перед вставкой данных из ответа обработать эти данные нужным мне образом и только потом вставить... триггер получается.

Функцию, которая генерирует этот запрос, мне найти не удаётся (js-ники сильно перекручены). Соответственно доступа к функции-обработчику ответа у меня тоже нет. Но данные, полученные в respons`е мне нужно подкорректировать (доступа к php файла сервера нет, можно редактировать только js).

Решение, которое приходит в голову - в window.onload отслеживать нужный мне div и, если в div были вставлены данные, то вызвать свою функцию, подкорректировать эти данные и вернуть обратно.

Так вот как отследить изменение контента div`а я не знаю. Может кто-то ещё идею подкинет?
Может в onload`e считать количество детей этого дива...
Ответить с цитированием
  #2 (permalink)  
Старый 05.06.2010, 16:01
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

var old = node.innerHTML;
setInterval(function () {
if (node.innerHTML != old) {
/* handler */
}
}, 100);
Ответить с цитированием
  #3 (permalink)  
Старый 05.06.2010, 16:04
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,506

Функцию, которая генерирует этот запрос, мне найти не удаётся

поищите получше. Эту функцию фиг скроешь.
Библиотека какая то используется, jQuery например ?

p.s. вообще ваша деятельность - подозрительна - не доплатили программисту что ли ?
Ответить с цитированием
  #4 (permalink)  
Старый 05.06.2010, 16:05
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,506

exec, жестокая такая проверка. Тормозить работу не будет?
Ответить с цитированием
  #5 (permalink)  
Старый 05.06.2010, 16:11
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

micscr, не будет.
Ответить с цитированием
  #6 (permalink)  
Старый 05.06.2010, 16:31
Аспирант
Отправить личное сообщение для amigo* Посмотреть профиль Найти все сообщения от amigo*
 
Регистрация: 25.05.2010
Сообщений: 39

2 exec:
спасобо за вариант решения буду пробовать. Вопрос ещё по ходу - нельзя ли при срабатывании if в конце блока удалить setInterval, чтобы вдальнейшем не делала лишних проверок?

2 micscr:
подгружаются 2 js файла. оба используют jquery. функции в них начинаются так: function($){}(jquery), и внутри функций активно используются методи jquery.
В этих js файлах для того, чтобы найти запрос я искал следующие функции/переменные : XmlHttpRequest, $.get, $.post, load(), getJSON(), getScript(). Такого там не было.
Такой ещё вопрос. Как могут эти файлы использовать библиотеку jquery, если на клиента она не подгружалась? (смотрел в Fiddler`e)
Ответить с цитированием
  #7 (permalink)  
Старый 05.06.2010, 16:43
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,506

нельзя ли при срабатывании if в конце блока удалить setInterval, чтобы вдальнейшем не делала лишних проверок?

конечно можно удалить.
var inter = setInterval ...
if (больше не надо) {
  clearInterval(inter);
}


Как могут эти файлы использовать библиотеку jquery, если на клиента она не подгружалась?

должна была подгрузиться. Без неё бы не работало, а ведь работает? Смотри в FireBug-е.
XmlHttpRequest, $.get, $.post, load(), getJSON(), getScript(). Такого там не было.

А .ajax не искал? Поищи еще по расширению - php. И вообще - просмотри $(document).ready() - там скорее всего такая подгрузка инициируется.
Можешь ссылку дать - вместе посмотрим.
Ответить с цитированием
  #8 (permalink)  
Старый 05.06.2010, 16:48
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Вариант exec хорош, только если например будет модификация атрибутов то триггер тоже стработает.
__________________
Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт
Ответить с цитированием
  #9 (permalink)  
Старый 05.06.2010, 16:51
Аспирант
Отправить личное сообщение для amigo* Посмотреть профиль Найти все сообщения от amigo*
 
Регистрация: 25.05.2010
Сообщений: 39

http://tour-consulting.com.ua/samo/index.html
Вот этот сайт. Только я не в firebug`e смотрел, а в fiddler`e
Ответить с цитированием
  #10 (permalink)  
Старый 05.06.2010, 17:21
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,506

подзашифровано там просто пакером. jQuery есть.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие onClick при нажатии пункта меню Lex4e Общие вопросы Javascript 1 25.06.2010 17:31
Не срабатывает при отсутствии в теле документа yuriii jQuery 3 06.05.2010 16:45
выполнение ф-ии при изменении состояния radio MaxB Events/DOM/Window 5 24.06.2009 13:24
Событие mouseout при наведении мыши на пункт меню WalterScott Events/DOM/Window 2 12.05.2009 21:05
Не отрабатывает событие onmouseout при внедрении нового слоя ilshat Элементы интерфейса 3 28.07.2008 05:27