Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][jQuery] Jak pobrać zawartość iframe?
muumiin
post
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 17.09.2014
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jak w temacie - próbowałam metodami: text(); html(); contents(); - żadna z nich nie działa
Go to the top of the page
+Quote Post
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Spróbuj zrobić request GET bezpośrednio pod adres ramki.
Go to the top of the page
+Quote Post
trueblue
post
Post #3





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Źródło ramki jest tej samej domenie co główna strona?
Go to the top of the page
+Quote Post
rad11
post
Post #4





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


A tak probowales:

  1. document.getElementById('iframe_id').contentWindow.document.body.innerHTML;
Go to the top of the page
+Quote Post
muumiin
post
Post #5





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 17.09.2014
Skąd: Kraków

Ostrzeżenie: (0%)
-----


@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.

Ten post edytował muumiin 20.04.2015, 21:19:11
Go to the top of the page
+Quote Post
rad11
post
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zrob tak jak markuz napisal powinno zadzialac.
Go to the top of the page
+Quote Post
trueblue
post
Post #7





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Skoro jest w tej samej domenie, to rozwiązanie takie jak podał rad11 zadziała i pozwoli pobrać stan bieżący.
Go to the top of the page
+Quote Post
muumiin
post
Post #8





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 17.09.2014
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Przy rozwiązaniu od rad11 wyskakuje błąd:

TypeError: Cannot read property 'contentWindow' of null

Go to the top of the page
+Quote Post
trueblue
post
Post #9





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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;


Ten post edytował trueblue 20.04.2015, 21:35:08
Go to the top of the page
+Quote Post
muumiin
post
Post #10





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 17.09.2014
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cały czas zwraca zmienną typu string, ale pustą (IMG:style_emoticons/default/sad.gif) Pewnie to są jakieś zabezpieczenia, ale nie wiem jak to ominąć (IMG:style_emoticons/default/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

Ten post edytował muumiin 21.04.2015, 09:07:24
Go to the top of the page
+Quote Post
trueblue
post
Post #11





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Jesteś pewna, że ramka i strona są w tej samej domenie (nawet subdomena ma znaczenie)?
Czy konsola przeglądarki wyświetla jakiś błąd?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 05:56