Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kod html po przetworzeniu javascriptu
Forum PHP.pl > Forum > PHP
f4n
Witam.
Prosiłbym o sugestie, w jaki sposób mógłbym uzyskać w php kod zewnętrznej strony, ale przetworzeniu w niej kodu javascript, innymi słowy chcę otrzymać w zmiennej końcowy kod html z dowolnego url.
thek
Czyżbyś chciał otrzymać kod html na stronie, gdzie dane są przesyłane AJAXem lub skrypty JS odpowiednio się ze stroną "zabawiają"? smile.gif A może chcesz po prostu kod z jakiegoś serwisu wrzucić na swoją stronę, rzekomo pod własnym imieniem? winksmiley.jpg Albo może chcesz wykorzystać dane ze strony autora bo samemu nie chce Ci się/nie potrafisz tego co on, a coś na niej fajnie wygląda winksmiley.jpg


Tak dla Twojej wiadomości... Kod JS jest wykonywany na komputerze klienta, w jego przeglądarce dopiero i nie generuje się na serwerze, bo dla tej funkcjonalności właśnie powstał. Możesz jedynie na sztywno wpleść cały kod JS wewnątrz strony, ale żadnego kodu HTML Ci to nie wygeneruje smile.gif Po prostu nie wiesz do czego JS słuzy i nie rozumiesz zasady jego działania. Kod JS może generować elementy strony, ale robi to już po dotarciu do przeglądarki, nie tworząc struktury html-owej jaką widzisz przy kliknięciu "Pokaż źródło" (no dobra... innerHTML jest wyjątkiem tongue.gif ).

EDIT... Jeśli jednak chcesz zawrzeć funkcjonalnie działająca inną witrynę to masz kilka wyjść, a spomiędzy nich najprostszy jest zwykły Iframe. Ale jeśli już jesteśmy przy php, to czemu nie posłużyć się: file_get_contents ?
f4n
Cytat(thek @ 24.08.2009, 23:52:32 ) *
Czyżbyś chciał otrzymać kod html na stronie, gdzie dane są przesyłane AJAXem lub skrypty JS odpowiednio się ze stroną "zabawiają"? smile.gif A może chcesz po prostu kod z jakiegoś serwisu wrzucić na swoją stronę, rzekomo pod własnym imieniem? winksmiley.jpg Albo może chcesz wykorzystać dane ze strony autora bo samemu nie chce Ci się/nie potrafisz tego co on, a coś na niej fajnie wygląda winksmiley.jpg


Tak dla Twojej wiadomości... Kod JS jest wykonywany na komputerze klienta, w jego przeglądarce dopiero i nie generuje się na serwerze, bo dla tej funkcjonalności właśnie powstał. Możesz jedynie na sztywno wpleść cały kod JS wewnątrz strony, ale żadnego kodu HTML Ci to nie wygeneruje smile.gif Po prostu nie wiesz do czego JS słuzy i nie rozumiesz zasady jego działania. Kod JS może generować elementy strony, ale robi to już po dotarciu do przeglądarki, nie tworząc struktury html-owej jaką widzisz przy kliknięciu "Pokaż źródło" (no dobra... innerHTML jest wyjątkiem tongue.gif ).

EDIT... Jeśli jednak chcesz zawrzeć funkcjonalnie działająca inną witrynę to masz kilka wyjść, a spomiędzy nich najprostszy jest zwykły Iframe. Ale jeśli już jesteśmy przy php, to czemu nie posłużyć się: file_get_contents ?


Dziękuję za odpowiedź.
Odpowiedzi na akapit pierwszy: nie, nie, nie.
Tak dla twojej wiadomości, wiem gdzie jest wykonywany kod JS. Nie pytałem również o to czy wiem do czego JS służy, ani czy rozumiem zasadę jego działania. Pytałem konkretnie, czy ktoś zna sposób (patrz pierwszy post).
Z tego co się zorientowałem, można użyć w tym celu jaxera, ale może ktoś już rozwiązywał podobny problem i orientuje się czy byłoby to wykonalne na np. na hostingu home.pl
Riklaunim
Pobrać stronę i użyć http://www.mozilla.org/js/spidermonkey/ żeby wykonać JS (choć efekt może być trochę inny niż zamierzany winksmiley.jpg). A najlepsze rozwiązanie to użyć silnika przeglądarki www, żeby zrenderowała stronę i pobrać z niej zrenderowany kod HTML strony (np. PyQt4/Webkit)
f4n
Dzięki za wskazówki.
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.