![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Poszukuję już od dłuższego czasu, niestety bez skutku odpowiednika PHPowego file_get_contents w javascript. Chcę to lub coś podobnego wykożystać do załadowania innej strony (adresu URL) u siebie, nie stosując przy tym żadnego iframe itp, gdyż kod załadowanej strony chcę później "obrobić" w javascript. PS. Wiem jak to wykonać za pomocą jQuery, za pomocą funkcji: Url:, lecz niestety potrzebuję wczytać stronę, która działa na innym porcie niż domyślnym (80), a tam to nie działa, chyba że znacie jakieś rozwiązanie? Pozdrawiam, i liczę na pomoc. Ten post edytował desavil 4.02.2012, 21:53:04 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
jquery -> load(). function
![]() Schemat wygląda takowo: -> Ładujesz stronę do niewidzialnego div'a a następnie do jakiejś zmiennej przypisujesz jego wartość np. powodzenia Ten post edytował toaspzoo 4.02.2012, 22:28:11 -------------------- LS Easter egg < |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 202 Pomógł: 36 Dołączył: 10.06.2011 Skąd: Dokąd Ostrzeżenie: (0%) ![]() ![]() |
Ale jeżeli chcesz załadować u siebie np. Google, to to Ci nie zadziała raczej.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Wyświetla się w alercie tylko napis: zawartosc tej strony w html to
A strony nie wyświetla, choć ustawiłem link:
Chyba, że byłaby jakaś możliwość przypisania do zmiennej najlepiej w jQuery zawartości wyświetlanego iframe? Ten post edytował desavil 4.02.2012, 23:06:11 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 202 Pomógł: 36 Dołączył: 10.06.2011 Skąd: Dokąd Ostrzeżenie: (0%) ![]() ![]() |
Javascriptem nie sięgniesz na inny serwer. Do tego musisz użyć AJAXa.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
A mógłbym prosić o jakiś przykład?
PS. Przypominam, że strona nie działa na porcie 80, czyli jako domyślny adres http://strona.pl tylko jako, np. http://strona.pl:8080 I jak z tym rozwiązaniem przez iframe, czy byłoby to realne? Wystarczy jeżeli osiągnę źródło strony w jakiejś zmiennej, która zostanie dodatkowo wypisana, a z resztą sobię poradzę. ![]() Tylko z tym mam problem. Ten post edytował desavil 4.02.2012, 23:19:58 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
iframe to zło wcielone. A o ajaxie jest tyle artykułów/poradników/przykładów, że wstydził bym się o to pytać...
Co do samego ładowania strony w PHP
więc nie jest to zbyt skomplikowane. ps. google -> jquery ajax Ten post edytował CuteOne 4.02.2012, 23:21:35 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
No i właśnie tego chcę uniknąć... w PHP mam wszystko zrobione tak, ale muszę to niestety przerobić.
Chcę aby skrypt wykonywał się, nie po stronie serwera tylko klienta. Mam serwis na, którym jest ponad 3000 osób online, które pobierają zawartość danej strony dodatkowo tym 3k osobą odświeża się skrypt, w celu aktualizacji średnio co 10 sekund, co przekłada się na ogromny ruch i duże zapotrzebowanie serwera (na którym ciągle pojawia się błąd o przeciążeniu, a nie jestem w stanie w obecnej chwili zakupić lepszego), nie zależnie już nawet od tego odświeżania. Dlatego koniecznie muszę użyć alternatywy poprzez wykonanie skryptu po stronie klienta. Ten post edytował desavil 4.02.2012, 23:25:53 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 202 Pomógł: 36 Dołączył: 10.06.2011 Skąd: Dokąd Ostrzeżenie: (0%) ![]() ![]() |
Mam nadzieję, że zrozumiałem. Jeżeli masz stronę np. www.mojastrona.pl i chcesz pobrać dane z www.innastrona.pl, to używawsz AJAXa. Tu masz wszystko ładnie opisane: http://api.jquery.com/jQuery.ajax/. Tworzysz plik np. mojplik.php, umieszczasz go na serwerze i za pomocą jQuery (pierwszy link) wysyłasz żądanie do pliku mojplik.php, on pobiera dane z innej strony przy użyciu np. cURLa, i Ci je zwraca.
Ten post edytował Korab 4.02.2012, 23:25:25 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Mam nadzieję, że zrozumiałem. Jeżeli masz stronę np. www.mojastrona.pl i chcesz pobrać dane z www.innastrona.pl, to używawsz AJAXa. Tu masz wszystko ładnie opisane: http://api.jquery.com/jQuery.ajax/. Tworzysz plik np. mojplik.php, umieszczasz go na serwerze i za pomocą jQuery (pierwszy link) wysyłasz żądanie do pliku mojplik.php, on pobiera dane z innej strony przy użyciu np. cURLa, i Ci je zwraca. Przeczytaj co wyżej napisałem, nie mogę użyć, w tym celu PHP. Chodzi mi o wykonanie skryptu (pobraniu strony i odpowiedniej modyfikacji jej źródła i wyświetlenie) po stronie klienta (przeglądarki), nie serwera. Ten post edytował desavil 4.02.2012, 23:29:25 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 202 Pomógł: 36 Dołączył: 10.06.2011 Skąd: Dokąd Ostrzeżenie: (0%) ![]() ![]() |
Poszukaj w Internecie, jak działa AJAX.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Nom, od rana już szukam kombinuje w różnych językach, które działają po stronie klienta.
Dowiedziałem się, że w jquery, javascript chyba też nie da się otworzć storony, która działa na innym porcie. Dlatego też wpadłem na pomysł z pobraniem źródła przez iframe. -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Skoro nie widzisz innej możliwości... to użyj iframe.
ps. jeżeli masz problemy z przeciążaniem serwera, może pora pomyśleć nad node.js, python, RoR ? ps2. nawet w PHP, można stworzyć taki serwer - zwiększenie wydajności gwarantowane ![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
A można prosić o jakiś przykład za pomocą, np. iframe?
-------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
A co ty "mała Ania bez rączek"... ?
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Tak.
Przeczytaj najpierw to co napisałem powyżej, a później się wypowiadaj. Ten post edytował desavil 5.02.2012, 00:02:00 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#17
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 339 Pomógł: 3 Dołączył: 15.10.2008 Skąd: Internet Ostrzeżenie: (0%) ![]() ![]() |
Nie takie rzeczy już wpisywałem w google. Zanim napiszę temat na tym forum szukam.
Nie widzę tak przykładu, w którym by zawartośc iframe była przypisana do zmiennej w js i wypisana na ekran, większość tych skryptów pokazuje jedynie link src wprowadzony w iframe.. Przykład, co wyświetla: http://wp.pl, zamiast zawartości (źródła) strony:
Ten post edytował desavil 5.02.2012, 13:18:55 -------------------- "Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki! |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Jeśli chcesz pobierać dane z serwera na innej domenie, to powstrzyma Cię przed tym tzw. "Same origin policy", połączenie zostanie zablokowane przez przeglądarkę. Istnieją sposoby aby to ominąć, w samym JavaScript jest ich co najmniej kilka. Moim zdaniem najlepszy nosi dumną nazwę „JSONP”.
Techniki JSONP można używać za pomocą jQuery i funkcji ajax(). Osobiście korzystam z JSONP za każdym razem kiedy muszę zastosować AJAX'a. Nie posługuje się obiektem XMLHttpRequest (często błędnie uznawanym za niezbędny do AJAX’a), powód? JSONP jest lepszy pod każdym względem. Niestety JSONP ma swoje ograniczenia. Serwer z którym się łączysz musi zwracać dane w odpowiednim formacie. Praktycznie każde API google wspiera JSONP. P.S Bardzo fajna strona z bazą danych API: http://www.programmableweb.com/apis każdy zainteresowany tworzeniem „mashupów” powinien znać ten adres. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 02:15 |