Показать сообщение отдельно
  #2 (permalink)  
Старый 24.09.2011, 17:14
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

document.body.__defineSetter__("innerHTML", function(){
     alert("изменение страницы detected");
});



вообще, существует определенное событие изменения структуры страницы. Тип этих событий называется Mutation

И включает в себя такие события
  • DOMSubtreeModified
  • DOMNodeInserted
  • DOMNodeRemoved
  • DOMNodeRemovedFromDocument
  • DOMNodeInsertedIntoDocument
  • DOMAttrModified
  • DOMCharacterDataModified

События не отменяются (т.е. нельзя отменить действие по-молчанию, как, например, отправка формы).

Они всплывают (за исключением DOMNodeRemovedFromDocument и DOMNodeInsertedIntoDocument )

Обработчику события передается ивэнт (очевидно. как и обычно при клике).

Что содержит этот ивэнт - можно почитать в документации

НО! пока это не работает.. т.е. проследить за изменением страницы посредством этих событий нельзя - не реализовано ещё.

Но я попробую

По клику по кнопке к телу документа будет ченить добавляться.
Попробуем проследить это.

Событие DOMNodeInserted отлично подойдёт - ведь добавляемый по клику текст является элементом TextNode. А оно идёт от NODE. т.е. будет встявляться узел при клике.
<button onclick="document.body.innerHTML+='<br>Clicked'">click</button>

<script>
document.body.addEventListener("DOMNodeInserted",function(e){ alert('страница изменена'); },false);
</script>


неколько алертов возникают из-за всплытия, наверное

PS ни-я. оно работает О_О. Ch14

Последний раз редактировалось melky, 24.09.2011 в 17:27.
Ответить с цитированием