bullseye 73 Napisano 5 Listopada 2011 Udostępnij Napisano 5 Listopada 2011 Witam, od jakiegoś czasu bawię się w tworzenie stron WWW. Obecnie mam działającą stronę na komputerze (dla testów serwer www+php+mysql) na którym to odpalam stronę. Sama strona napisana jest w HTML+CSS, a wszystkie odnośniki z menu wskakują w dynamiczne DIVy (mam nadzieję że dobrze to tłumaczę) za sprawą skryptu "Dynamic Ajax Content". I teraz chciałbym aby po zaczytaniu strony w DIVa otwierał się w ramce (jakby wbudowany w stronę) druga strona zewnętrzna, czyli z menu po lewej wybieram filmy i otwiera się Filmweb w menu środkowym. Aktualnie podczytywany DIV wygląda tak: <frameset> <frame name=Strona src=http://strona/> </frameset> Ale nie daje to żadnego rezultatu, i w związku z tym mam pytanie jak dokonać tego co potrzebuję ? Nie wiem czy to robi różnicę, ale chciałbym tak zakotwiczyć ruTorrent czyli skrypt PHP, strona jest moja i robię ją tylko by się czegoś nauczyć. Cytuj Link to post Share on other sites
mICh@eL 335 Napisano 5 Listopada 2011 Udostępnij Napisano 5 Listopada 2011 (edytowane) W sensie że zamiast ramek frame używasz AJAX'a, który ładuje treść do diva, a Ty chcesz, żeby ajaxem załadować do tego diva inną stronkę Jeśli o to chodzi, to tworzysz plik stronka.php <?php $zmienna = file_get_contents('http://adres.strony.ktora.ma.byc.wczytana.pl'); echo $zmienna; ?> I ustawiasz, żeby wczytywało to, co wygeneruje stronka.php Edytowane 5 Listopada 2011 przez mICh@eL Cytuj Link to post Share on other sites
bullseye 73 Napisano 5 Listopada 2011 Autor Udostępnij Napisano 5 Listopada 2011 Zamiast ramek jest Ajax który tekst wczytuje pod konkretny DIV. A ja chcę by wśród tego załadowanego tekstu była ramka/inne czy cokolwiek gdzie będzie osadzona zewnętrzna strona. Cytuj Link to post Share on other sites
mICh@eL 335 Napisano 5 Listopada 2011 Udostępnij Napisano 5 Listopada 2011 Ajax działa tak, że w określonym miejscu (div o danym id, textarea o danym name, itd.) zmienia treść. U Ciebie też jest pewnie jakiś div, w którym zmienia się tekst. I właśnie musisz zrobić tak, żeby dla danego elementu, którym wywołujesz ajaxa do zmiany treści, nie wczytało treści z pliku cośtam.txt, tylko stronka.php Cytuj Link to post Share on other sites
bullseye 73 Napisano 5 Listopada 2011 Autor Udostępnij Napisano 5 Listopada 2011 Właśnie, AJAX wczytuje z pliku txt zawartość do DIV ID= coś. I chcialbym by stronka byla wykonywana nie bezposrednio przez serwer na ktorym ogladam ale jakby najpierw wykonywana (bo to php) byla na serwerze a gotowa wyswietlana byla na moim. Jestem trochę noga w tych tematach, więc wybacz jeśli coś nazywam nie tak, albo jak rozumuję nie tak jak trzeba. Cytuj Link to post Share on other sites
RecoNet 14 Napisano 17 Grudnia 2011 Udostępnij Napisano 17 Grudnia 2011 Po pierwsze ajax dla bezpieczeństwa wczytuje treści tylko z pod tej samej domeny. Oczywiście można to obejść ale jak coś się nie wyświetla ludziom na stronkach to zazwyczaj to jest tego wina Cytuj Link to post Share on other sites
neosatan 3 Napisano 19 Grudnia 2011 Udostępnij Napisano 19 Grudnia 2011 Jezu. Proxy wykorzystaj. Tak jak wcześniej zostało zaprezentowane z kodem PHP $zmienna = file_get_contents('http://adres.strony.ktora.ma.byc.wczytana.pl'); później na stronie, coś w stylu: <script> $.post('http://twoja.strona.pl/adres_poprzedniego_skryptu.php', '', function(data) { document.getElementById('id_diva').innerHTML = data; } ); </script> AJAX nie służy do tego by pościągać wszystkie strony na jakie można zajść w Internecie. Piękno AJAXa ujawnia się właśnie w asynchronicznych zapytaniach do serwera, dzięki czemu można pisać aplikacje internetowe, które wcale nie odstają od tych, które znamy z poza przeglądarki. Jednakże są pewne ograniczenia. Po pierwsze możesz takie wywołanie wysłać jedynie do domeny z której plik z danym kodem został ściągnięty. Po drugie trzeba odpowiednio rozgraniczać zadania serwerowe, a klienckie. Cytuj Link to post Share on other sites
Recommended Posts
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.