Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][jQuery] Jak pobrać zawartość iframe?
Forum PHP.pl > Forum > Przedszkole
muumiin
Jak w temacie - próbowałam metodami: text(); html(); contents(); - żadna z nich nie działa
markuz
Spróbuj zrobić request GET bezpośrednio pod adres ramki.
trueblue
Źródło ramki jest tej samej domenie co główna strona?
rad11
A tak probowales:

  1. document.getElementById('iframe_id').contentWindow.document.body.innerHTML;
muumiin
@trueblue
Tak, na tej samej domenie. To po prostu wyświetlana odpowiedź z wysłanego formularza.

@markuz
Byłby to dobry pomysł... Ale jak po fakcie wyślę get, to nie będzie tam już takiej samej odpowiedzi, bo nie wyślę tych samych zmiennych.
rad11
Zrob tak jak markuz napisal powinno zadzialac.
trueblue
Skoro jest w tej samej domenie, to rozwiązanie takie jak podał rad11 zadziała i pozwoli pobrać stan bieżący.
muumiin
Przy rozwiązaniu od rad11 wyskakuje błąd:

TypeError: Cannot read property 'contentWindow' of null

trueblue
Nadałaś id dla iframe?

Jeśli tak, to spróbuj w ten sposób:
  1. var iframe=document.getElementById('iframe_id');
  2. var iframeDoc=iframe.contentDocument||iframe.contentWindow.document;
  3. var html=iframeDoc.body.innerHTML;
muumiin
Cały czas zwraca zmienną typu string, ale pustą sad.gif Pewnie to są jakieś zabezpieczenia, ale nie wiem jak to ominąć sad.gif
Próbowałam też używać setTimeout, bo pomyślałam, że może po prostu wykonuje tą funkcję przed załadowaniem ramki - ale widzę na ekranie tekst przez kilka sekund, po czym skrypt próbuje go pobrać i w alercie nie ma tego tekstu...

Jeśli chodzi o DOM - dobrze wskazuję obiekt, bo testowałam ze zmienieniem css-a
trueblue
Jesteś pewna, że ramka i strona są w tej samej domenie (nawet subdomena ma znaczenie)?
Czy konsola przeglądarki wyświetla jakiś błąd?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.