Javascript Refresh / Reload

tags: javascript   refresh  

Il seguente javascript permette il refresh (reload) di una qualsiasi pagina web in diversi modi. Tengo nota di questo script in quanto, dopo averne provati alcuni, è l'unico che funziona bene in tutte le versioni dei principali browsers (Internet Explorer, Safari, Firefox, Opera), oltre a permettere due metodi di refresh: automatico e tramite l'uso di un link (bottone).


Javascript Refresh Automatico

Questo metodo utilizza una tecnica Javascript non molto conosciuta, compatibile con i browser più e meno moderni. In pratica definisce diversi blocchi Javascript, ciascuno per ogni versione. Il browser utilizzerà solo l'ultimo blocco compatibile, così che i browsers più vecchi utilizzeranno il blocco "Javascript", mentre quelli più moderni utilizzeranno "Javascript 1.1" o "Javascript 1.2", a seconda della versione di Javascript che utilizzano. Infine, se il browser non supporta del tutto Javascript o lo supporta ma non è abilitato, verrà utilizzato il blocco "noscript":

<html>

<head>
<title>Esempio di Refresh JavaScript</title>
<noscript>
<!--
    We have the "refresh" meta-tag in case the user's browser does
    not correctly support JavaScript or has JavaScript disabled.

    Notice that this is nested within a "noscript" block.
-->
<meta http-equiv="refresh" content="2">

</noscript>

<script language="JavaScript">
<!--

var sURL = unescape(window.location.pathname);

function doLoad()
{
    // the timeout value should be the same as in the "refresh" meta-tag
    setTimeout( "refresh()", 2*1000 );
}

function refresh()
{
    //  Questa versione della funzione refresh inserisce una nuova
    //  pagina nella storia del browser.  Ciò è utile per
    //  i browsers che supportano JavaScript 1.0.
    //
    window.location.href = sURL;
}
//-->
</script>

<script language="JavaScript1.1">
<!--
function refresh()
{
    //  Questa versione NON inserisce una nuova pagina nella storia
    //  del browser. La maggior parte dei browser recupera
    //  il documento dal web server, sia che sia già presente nella
    //  cache del browser o meno.
    // 
    window.location.replace( sURL );
}
//-->
</script>

<script language="JavaScript1.2">
<!--
function refresh()
{
    //  Questa versione della funzione refresh verrà invocata
    //  dai browsers che supportano Javascript 1.2
    //
   
    //  L'argomento nella funzione location.reload determina
    //  se il browser deve recuperare il documento dal
    //  web-server.
    // 
    window.location.reload( false );
}
//-->
</script>
</head>

<!--
    Per iniziare il refresh viene utilizzato l'evento "onload".
-->
<body onload="doLoad()">

<script language="JavaScript">
<!--
    // inseriamo qui una data per poter verificare che tutto funzioni
    document.write('<b>' + (new Date).toLocaleString() + '</b>');
//-->
</script>


</body>

</html>


Javascript Refresh Link (bottone)

Un Javascript simile permette di ricaricare la pagina quando il visitatore clicca un link, un'immagine, un bottone o un form:

<html>

<head>
<title>Esempio di Refresh Link (bottone)</title>
<script language="JavaScript">
<!--

var sURL = unescape(window.location.pathname);

function refresh()
{
    window.location.href = sURL;
}
//-->
</script>

<script language="JavaScript1.1">
<!--
function refresh()
{
    window.location.replace( sURL );
}
//-->
</script>

<script language="JavaScript1.2">
<!--
function refresh()
{
    window.location.reload( false );
}
//-->
</script>
</head>

<body>

<script language="JavaScript">
<!--
    // inseriamo qui una data per poter verificare che tutto funzioni
    document.write('<b>' + (new Date).toLocaleString() + '</b>');
//-->
</script>

<!--

    In ogni esempio che segue, chiameremo semplicemente la funzione Javascript "refresh".
   
    Il primo esempio utilizza un "link" che invoca la funzione Javascript.
-->
<p><a href="javascript:refresh()">Refresh Link</a></p>

<!--
    Il bottone non è altro che un'immagine inserita in un link.
-->
<p><a href="javascript:refresh()"><img src="images/button_green.gif" border="0"
align="middle" width="71" height="70"></a>bottone immagine</p>

<!--
    L'ultimo metodo utilizza l'evento "onclick" nel bottone di una form.
-->
<form method="GET" action="refreshbutton.htm">
  <p><input type="button" onclick="refresh()" value="Refresh Form Button"
  name="button1"></p>
</form>

</body>

</html>

Nota: tutti i crediti per questo script vanno a Grizzlyweb, per maggiori info segui il link principale di questa risorsa o lasscia un commento di seguito.


Vedi anche:

Thanks you , very nice post

Thanks you , very nice post admin.

Represh dopo un invio email php

Ciao, scusa posso chiederti come si fà a fare in modo che in una pagina formmail.php dopo che l'utente ha compilato i campi e cliccato il pulsante "invia email" la pagina dopo che rilascia un echo con il messaggio di ringraziamento per acerci contattato, mi ricarichi la pagina in modo tale da poter visualizzare nuovamente il form in php?? Grazi in anticipo

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <h2> <h3> <h4> <img> <hr>
  • Linee e paragrafi vanno a capo automaticamente.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Are you human (domanda per prevenire lo spam)?
Twitter
Add to Technorati Favorites

Featured:

Archivio

Marzo 2010
DomLunMarMerGioVenSab
123456
78910111213
14151617181920
21222324252627
28293031
PureDivs Conversione Temi Drupal