ďťż
Podstrony
|
telcocafeWitam,Jestem zmuszony umieścić na stronie dokument html, który znajduje się na zewnętrznym serwerze. Mam jego adres, umieszczam go w iframe i tu pojawia się problem. Treść owej ramki jest generowana i co jakiś czas zmienia się jej wysokość, więc nie mogę jej ustawić na sztywno. Chcę, aby nie pojawiały się żadne scrollbary- ramka ma być niewidoczna, ma wyglądać jak integralna część strony. Rozwiązanie problemu znalazłem dosyć szybko, ale niestety pojawił się problem- działa ono tylko, gdy plik znajduje się na tym samym serwerze. Może macie więc jakieś pomysły na osadzenie dokumentu na stronie, aby nie było problemu suwaków? Może jakieś inne rozwiązania zastępujące iframe? Z góry dzięki Kamil Użytkownik Kamil881 edytował ten post 02 kwiecień 2010, 12:04 Ajax, ale wtedy nie wstawiasz całego dokumentu, a samą treść (żadnego head, jedynie to, co można umieścić w body). Albo w zdarzeniu załadowania treści ramki (onload) zmieniasz jej rozmiar dzięki Javascript. Przydatny link. Właśnie ten artykuł, który podałeś, znalazłem już wcześniej: Czy podstrony nie znajdują się przypadkiem w innej domenie (mają inny początek adresu po http://...) niż strona główna, na której znajduje się ramka <iframe>...</iframe>? Może to mieć miejsce, jeżeli np. korzystasz z darmowych komponentów księgi gości, forum itp., które wczytujesz do ramki AutoIFRAME. Niestety w takim przypadku skrypt nie będzie działał i nie ma na to rady :-( Tak więc to odpada. Struktura dokumentu, który chcę zamieścić jest taka: <html> <head></head> <body> </body> </html> Czyli ajax też nie? Użytkownik Kamil881 edytował ten post 02 kwiecień 2010, 14:12 Skrypt jest przydatny, tylko trzeba go odpowiednio przerobić tak, by uruchamiać go na stronie z ramką, a nie w ramce. Albo można użyć jQuery i metody load():$('#id_boksu_z_trescia').load('strona.html body'); A ajaxem/jquery przypadkiem nie można ładować tylko w obrębie tej samej domeny? Generalnie sprawa jest utrudniona ze względu na to, że odczytanie danych z wewnątrz ramki ładującej treść znajdującą się w innej domenie to poważne zagrożenie dla bezpieczeństwa. Co powiesz na pobranie tego przez PHP? fsockopen, albo curl. Użytkownik someone edytował ten post 02 kwiecień 2010, 16:40 Przejrzałem dokumentację skryptu, który muszę umieścić na stronie i okazało się, że jest możliwość ustalenia ilości elementów na jednej stronie. To niejako rozwiązuje mój problem, bo znam maksymalną wysokość okna. Mimo wszystko bardzo chętnie poznam jakieś rozwiązanie automatycznej wysokości dla ramki, bo z pewnych estetycznych względów byłoby to lepsze. @someone Co masz więc dokładnie na myśli używając do tego celu PHP? @andrzej_aa Czy to zadziała z zewnętrznym plikiem, o czym wspomina someone? Po prostu - ściągasz to po stronie serwera na przykład tak: <?php $in = ''; $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: www.example.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { $in.=fgets($fp, 128); } fclose($fp); } ?> Masz cały kod strony w zmiennej $in możesz wyświetlić go sobie przez echo jako integralną część Twojej strony(zapewne będziesz musiał wyciąć wcześniej trochę śmieci, ale jeśli będzie bardzo trudno zawsze można użyć jakiejś klasy parsującej html) co sprawia, że problem wysokości przestaje istnieć. Użytkownik someone edytował ten post 02 kwiecień 2010, 19:02 Ok dzięki Wam za pomoc, postaram sobie już z tym jakoś poradzić. Wesołych świąt Użytkownik Kamil881 edytował ten post 06 kwiecień 2010, 11:14 |
|||
Sitedesign by AltusUmbrae. |