Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odświeżanie strony
Forum PHP.pl > Forum > Po stronie przeglądarki
DNMX
Jak odświeżyć po stronie użytkownika zawartośc strony ale nie za pomocą tagu <meta> ani skryptu window.reload() tylko tak, żeby mu się u góry w przeglądarce kółeczko nie kręciło??
viking
Napisać do producentów przeglądarek żeby dodali taką funkcjonalność smile.gif
Możesz przeładować stronę dynamicznie np przez fetch().
DNMX
A jak to robi np. FB, że u góry zawsze widać facebook.com a przechodzi się na różne strony?
nospor
np. AJAX
gino
zerknij np. tutaj:
Update data on a page without refreshing
DNMX
Dzięki gino. Zrobiłem zgodnie z Twoim tutorialem ale updatuje w kółko w pętli bez czekania.
  1. window.addEventListener('load', function()
  2. {
  3. var xhr = null;
  4.  
  5. getXmlHttpRequestObject = function()
  6. {
  7. if(!xhr)
  8. {
  9. // Create a new XMLHttpRequest object
  10. xhr = new XMLHttpRequest();
  11. }
  12. return xhr;
  13. };
  14.  
  15. updateLiveData = function()
  16. {
  17. var now = new Date();
  18. // Date string is appended as a query with live data
  19. // for not to use the cached version
  20. var url = 'livefeed.txt?' + now.getTime();
  21. xhr = getXmlHttpRequestObject();
  22. xhr.onreadystatechange = evenHandler;
  23. // asynchronous requests
  24. xhr.open("GET", url, true);
  25. // Send the request over the network
  26. xhr.send(null);
  27.  
  28. };
  29.  
  30. updateLiveData();
  31.  
  32. function evenHandler()
  33. {
  34. // Check response is ready or not
  35. if(xhr.readyState == 4 && xhr.status == 200)
  36. {
  37. dataDiv = document.getElementById('liveData');
  38. // Set current data text
  39. dataDiv.innerHTML = xhr.responseText;
  40. // Update the live data every 1 sec
  41. setTimeout(updateLiveData(), 1000);
  42. }
  43. }
  44. });

Zmiana setTimeout(updateLiveData(), 10000); nie pomaga
nospor
nie
setTimeout(updateLiveData(), 1000);

a:
setTimeout(updateLiveData, 1000);
DNMX
Działa elegancko, również na mobilnych
viking
I pomyśleć że zamiast 3 linijek nowoczesnego fetch API łatwiej było użyć 40 przestarzałego XMLHttpRequest
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-2024 Invision Power Services, Inc.