![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 7 Dołączył: 24.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Czy ktoś mógłby wskazać dobry przykład wykorzystania HTML5 + JS w pobieraniu zawartości strony z innej domeny. Rozwiązania oparte o iframe odpadają z wiadomego powodu. PHP też nie wchodzi w grę. Jeśli znacie też inne sposoby to możecie się podzielić. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
a może cURL'em?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 7 Dołączył: 24.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hmm może nie sprecyzowałem, musi to się odbyć po stronie klienta, po prostu na domeniaA przyszykowuje sobie stronę do pobrania, a z domenyB ją pobieram używając tylko technik po stronie klienta, z czego chcem uniknąć używania iframe.
Więc cURL odpada. P.S. Wdrażam się teraz w JSONP ale nigdzie nie mogę znaleźć co po stronie domenyA mam zrobić żeby wszystko chodziło. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie można pobrać źródła innej domeny, bezpośrednio po stronie klienta, jest to naruszenie bezpieczeństwa.
Połącz się przez ajax do php > return file_get_contents() Ten post edytował !*! 29.01.2013, 11:05:23 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 7 Dołączył: 24.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
A jak jest zrobiony np LIKE BOX z FaceBooka, przecież mogę go zamiescić, nie używając PHP (w domenie B - tu nie mogę użyc PHP wysietlam uprzednio przyszykowaną stronę z domeny A - tu mogę użyć PHP ) Chodziu mi o ten sam efekt.
Ten post edytował fenix.robi 29.01.2013, 11:16:29 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ajax. A jak chcesz dokładnie wiedzieć jak to działa, to użyj dragonfly w operze, lub firebug w Fx.
Ten post edytował !*! 29.01.2013, 11:18:57 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 7 Dołączył: 24.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ajax. A jak chcesz dokładnie wiedzieć jak to działa, to użyj dragonfly w operze, lub firebug w Fx. Tak jak napisałeś w poprzednim poście porpzez XMLHttpRequest, nie można pobierać zawartości z innych domen, z przyczyn bezpieczeństwa. Szukam rozwiązania podobnego do FB / G+ lecz oni mają własne rozwiązanie zastępujące iframe |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zauważ że nawet źródła z iframe nie pobierzesz. Jedyne rozwiązanie to połączenie się z serwerem o którym pisałem, skoro na serwerze B masz możliwość użycia PHP, to z nim się połącz z serwera A.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 22.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Może to pomoże (IMG:style_emoticons/default/smile.gif) Teraz mamy pobraną stronkę w $strona |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 7 Dołączył: 24.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, ale znam cURLa, ja chcem zrobić dokładnie to samo co ten LIKE BOX , czyli przyszykowaną przezemnie stronę (element), udostępnić innym stronom, na zasadzie dodania widgetu o zdefiniowanych wymiarach.
Cieszę się ze jest zainteresowanie tym tematem, lecz zdziwiłem się że nie ma w googlu dokładnych rozwiązań, jak myśle na taki prosty problem. Szukam dalej Ten post edytował fenix.robi 29.01.2013, 11:52:19 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cieszę się ze jest zainteresowanie tym tematem, lecz zdziwiłem się że nie ma w googlu dokładnych rozwiązań, jak myśle na taki prosty problem. Szukam dalej Szukasz czegoś, co nie istnieje. Tracisz tylko czas. @pluskwa 10 linijek kodu, zamiast jednej? Curl służy do czego innego niż pobieranie źródła (to że to umożliwia nie znaczy że jest to słuszne). |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 7 Dołączył: 24.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Z dedykacją dla:
Szukasz czegoś, co nie istnieje. Tracisz tylko czas. Podstawowe użycie: Kod //Po stronie klienta - domena B <div id="myBox"></div> <script> function doSomething(html) { document.getElementById("myBox").innerHTML = html; } var jsonp = document.createElement('script'); jsonp.src = 'http://mySecondPage.com/jsonp.php'; document.body.appendChild(jsonp); </script> //po stronie serwera - domena A - plik jsonp.php <?php $file = file_get_contents('widget.html'); echo "doSomething('" . str_replace(array("\r", "\n"), array("", ""), $file) . "');"; ?> pomocne linki: JSONP #1, JSONP #2 Oczywiscie to podstawowe użycie, zamiast wysyłać HTML to można zdefiniować tablice z niej json_encode, + odbierać eval i mieć to w jsonie, ja potrzebowałem wysyłać HTML, teraz przerabiam przykład dla moich potrzeb. Nie wykorzystuję tu nic z HTML5, ale moje założenia zostały spełnione. BTW: Połącz się przez ajax do php > return file_get_contents() " Nie chodzi o to ze wykorzytałem file_get_contents(), tylko ze jak miałem się połaczyć z domeny B (nie uzywając żadnych skryptów PHP etc.) do domeny A (tu mogłem wykorzystać PHP) za pomocą ajaxa w tym przypadku nic nie zdziałamPozdrawiam Ten post edytował fenix.robi 29.01.2013, 14:16:03 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sprecyzuj na przyszłość o co Ci chodzi a unikniemy nieporozumienia.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie działające wyłącznie po stronie klienta wymagać będzie skorzystania z Cross-origin resource sharing i jest jak najbardziej możliwe. Jest ono lepsze, jeżeli tylko możemy pozwolić sobie na brak wsparcia ze strony starszych przeglądarek.
Ten post edytował Crozin 29.01.2013, 16:20:29 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 29.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie działające wyłącznie po stronie klienta wymagać będzie skorzystania z Cross-origin resource sharing i jest jak najbardziej możliwe. Jest ono lepsze, jeżeli tylko możemy pozwolić sobie na brak wsparcia ze strony starszych przeglądarek. Niestety w Polsce mamy jeszcze wielu użytkowników... Internet Explorer 6, nie wspominając o 7 i w wielu przypadkach nieaktualizowanym firefoxie. Znam to z doświadczenia, a prowadzę serwis komputerowy... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:15 |