Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript] Brak odświeżania ramki - jak to zrobić?
Forum PHP.pl > Forum > Przedszkole
lipmar1789
Witam.

Chciałbym się dowiedzieć, czy istnieje możliwość, aby na stronie użyć ramki (lub innego obiektu), która zachowuje się w ten sposób, że po przechodzeniu do różnych zakładek na stronie ramka ta nie była odświeżana razem ze stroną? Chciałbym do tej ramki włożyć odtwarzacz, więc ciągłe odświeżanie go nie jest wskazane. Cała strona jest postawiona na Webspell'u więc dzielenie jej na 2 typowe ramki raczej nie jest możliwe. Chciałbym, aby najlepiej wyglądało to mniej więcej tak: http://websta.pl/tutoriale/jquery-wysuwany-boczny-panel-menu, chociaż wiem, ze ramek tutaj nie ma. Tak więc istnieje jakiś łatwy sposób na to? Jeśli to możliwe prosiłbym o jakieś linki.

edit: strona: http://electronicgamesquad.pl/
timon27
musiałbyś zupełnie wyłączyć przeładowywanie strony.
W jqery złap wszystkie znaczniki <a> i usuń im linkowanie.
Zamiast tego użyj wczytywania treści ajaxem
do części oznaczonej przez ciebie:
<!-- Środek strony -->
bo menu chyba wszędzie takie samo.
Oprócz tego pushState().
lipmar1789
Dzięki za nakierowanie. W sumie nie wiem za bardzo jak ugryźć to wyłączenie przeładowywania czy użycie ajaxa, ale zainteresowała mnie metoda pushState(). Może coś samo mi przyjdzie jak poczytam o tym.
bladeer
Ewentualnie całą stronę zbudować z ramek, ale to chyba nie jest najlepszy pomysł
lipmar1789
To że calą strone można zbudować z ramek to wiem, ale w przypadku Webspella nie wiem czy jest to możliwe a jeśli nawet, to byłoby to bardzo trudne. Dlatego chciałbym umieścić tylko jedną ramkę gdzieś na stronie, która nie odświeżała by sie
PrinceOfPersia
mógłbyś jeszcze zostawić stronę w spokoju, a otwierać odtwarzacz w nowej karcie przeglądarki. (chociaż ryzyko by było, żeby ten popup został zablokowany przez przeglądarkę).
timon27
Cytat(lipmar1789 @ 1.05.2013, 13:01:24 ) *
W sumie nie wiem za bardzo jak ugryźć to wyłączenie przeładowywania czy użycie ajaxa,


No faktycznie jest to coś czego też nie potrafiłbym zrobić od ręki.
Coś w rodzaju (pseudokod, tylko pokazuję co mam na myśli):
  1. foreach($('a') as link){ //$('a') to wszystkie elementy <a>
  2. gdzie=link.href;
  3. link.bind('click', function(e){
  4. e.preventDefault(); // wyłączenie akcji domyślnej
  5. ajax({url: gdzie,context: div_czesci_glownej}); // zajaxowanie treści
  6. pushState(gdzie); // wpisanie adresu do paska adresu
  7. })
  8. }
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.