Wpis z mikrobloga

W jaki sposób mogę nasłuchiwać na zmiany w strukturze drzewa dom dokumentu html, który znajduje się w iframe'ie?
Główny HTML -> Iframe -> HTML -> div w którym chcę nasłuchiwać zmian na temat bezpośredniego potomka tego diva, również diva.

Próbowałem użyć MutationObserver, ale on nie wykrywa żadnych zmian. Albo coś źle zrobiłem, albo nie tędy droga. https://pastebin.com/Z4LzZLfs
Na ten moment poradziłem sobie robiąc timer, który co 0,5 sekundy sprawdza czy dany div istnieje i wtedy przerywa interwał i wykonuje się główny kod. Tylko, że to słabe rozwiązanie, bo wtedy odpalam interwał który wyczekuje kolejnego zdarzenia (wyjścia z pokoju gier), by później znów wykonać główny kod przy wejściu do kolejnego pokoju. Czyli ciągle mam jakiś interwał którym sprawdzam wejście lub wyjście z rozgrywki, ponieważ chcę by mój kod wykonal się zawsze po wejściu do gry. Dość głupie rozwiązanie, ale nie wiem jak zrobić to lepiej.

#javascript #webdev #html #html5
  • 2
@Matt23: a nie lepiej w iframce zaimplementować nasłuchiwanie i wysyłać postMessage do okna hosta? :) Tak tylko pytam, bo sięganie z góry do źródła iframki wydaje mi się niezbyt fajnym rozwiązaniem. Mając komunikację postMessage możesz sobie zapiąć listenery i przesyłać dane między stroną hostem a iframką.
@isamaul: Nie wiem czy się zrozumieliśmy, ale ja tworzę dodatek do istniejącej gry. Nie mam dostępu do kodu źródłowego. Próbuję po prostu dodać nową funkcjonalność (działającą tylko u mnie) po dołączeniu do gry.