Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Odświeżanie i too much recursions
Forum PHP.pl > Forum > Przedszkole
Szymas
Witam. Mam problem z odświeżeniem strony wyświetlanej w iframe. Otóż przy odświeżaniu setInterval strasznie się rozpędza i nie mogę go opanować. Konsola zaczyna krzyczeć po pewnym czasie "too much recursions". Oto fragment kodu odpowiedzialny za odświeżanie.
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. function czat_odswiez() {
  4. setInterval( function() {
  5. $('body').load(location.href);
  6. }, 2000);
  7. };
  8. czat_odswiez();
  9. });
  10. </script>
PrinceOfPersia
Cytat
$('body').load(location.href);

tutaj jest chyba bestia ukryta. Ładujesz do body z powrotem tę samą stronę, więc ładują się wszystkie skrypty. I od nowa ładuje się document ready, i od nowa się odświeża, od nowa laduje, od nowa odświeża.
- może nie ładuj całej strony ze skryptami tylko jedynie kawałek strony, sam HTML? (albo w ogóle tylko dane w postaci JSON, ale tutaj pewnie byś musiał więcej przerabiać, natomiast zamienić żeby ładował sam HTML możesz w chwilę)
- albo, jeśli chcesz po prostu odświeżyć iframe: http://stackoverflow.com/questions/2064850...sing-javascript
Szymas
Sposób z odświeżeniem iframe fajny. Teraz pozostaje mi do rozwiązania opcja aby przy każdym przeładowaniu nie pojawiał się w tytule strony napis "Łączenie".

Ok. Udało się smile.gif
PrinceOfPersia
może nie ładuj fragmentu z napisem "łączenie"? W sumie nie wiem jak to masz ułożóne.
Comandeer
W przypadku $.fn.load warto wiedzieć, że można podać po spacji selektor elementu, jaki chcemy pobrać:
Kod
$('body').load(location.href + ' #konkretnyElement');
Szymas
Cytat(PrinceOfPersia @ 29.10.2015, 21:36:32 ) *
może nie ładuj fragmentu z napisem "łączenie"? W sumie nie wiem jak to masz ułożóne.

Miałem na myśli wyswietlanie przez przeglądarkę przeładowania strony.

Skorzystałem z parametru, o którym wspomniał Comandeer. Wrzuciłem treść w div'a i wszystko pieknie śmiga smile.gif
Dziękuję za pomoc i zycze miłego wieczoru smile.gif
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.