Autor Zpráva
ronaldinho
Profil *
Zdravím,

dá sa tento kód na refresh upraviť tak aby sa refresh neopakoval každých 10 sekúnd ale stránka sa refreshla len raz po 10 sekundách?

Ďakujem.


<html>
  <head>
    <script type="text/JavaScript">
    function timedRefresh(timeoutPeriod) {
      setTimeout("location.reload(true);", timeoutPeriod);
    }
  </script>
  </head>
  <body onload="JavaScript:timedRefresh(10000);">
    <p>Refresh této stránky probíhá automaticky každých 10 vteřin.</p>
  </body>
</html>



Respektíve by mi pomohlo ak by sa dalo nastaviť aby sa stránka najskôr refreshla po 10 sekundách a potom stále dookolo až po 20 sekundách.
Dá sa to takto nejako nastaviť?
JaySee
Profil
V tomto případě ne. Je třeba nějakým způsobem uchovat informaci o tom, že již bylo přesměrováno. Takže buď v URI, nebo přes cookies.
Lepší bude uložit cookie.

 function timedRefresh(timeoutPeriod)
    {
       if(document.cookie.indexOf("already_refreshed=true") == -1)
         {
            setTimeout("location.reload(true);", timeoutPeriod);
            document.cookie="already_refreshed=true";   
         }  
    }
ronaldinho
Profil *
JaySee:
Čiže by to malo vyzerať takto?
<html>
  <head>
    <script type="text/JavaScript">
    function timedRefresh(timeoutPeriod)
    {
       if(document.cookie.indexOf("already_refreshed=true") == -1)
         {
            setTimeout("location.reload(true);", timeoutPeriod);
            document.cookie="already_refreshed=true";   
         }  
    }
  </script>
  </head>
  <body onload="JavaScript:timedRefresh(10000);">
    <p>Refresh této stránky probíhá automaticky každých 10 vteřin.</p>
  </body>
</html>

Ak by som tam chcel zmeniť počet sek. za ktorý sa bude refreshovať tak sa zmení len číslo v zátvorke timedRefresh(10000)?

díky
JaySee
Profil
ronaldinho:
Čiže by to malo vyzerať takto?
Ano
Ak by som tam chcel zmeniť počet sek. za ktorý sa bude refreshovať tak sa zmení len číslo v zátvorke timedRefresh(10000)?
Ano, je to čas v milisekundách.

BTW: ted mi došlo, že jsem poslal uplně jiné řešení. Tento script refreshne stránku jen jednou, a to po 10 sekundách (nevím co jsem četl)

 function timedRefresh(timeoutPeriod)
    {
       if(document.cookie.indexOf("already_refreshed=true") == -1)
         {
            setTimeout("location.reload(true);", timeoutPeriod);
            document.cookie="already_refreshed=true";   
         }  
       else
        {
          setTimeout("location.reload(true);", timeoutPeriod*2);
        }
    }

Tohle refreshne po 10 sekundách a pak za dvojnásobně dlouhou dobu. Tedy 20 sekund.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: