2010-07-20 26 views
85

Cosa devo fare per avere una funzione su un sito Web in cui viene indicato che ti reindirizzerà al sito in circa 3 secondi?Reindirizza sito Web dopo un certo periodo di tempo

+2

possibile duplicato di [Come posso reindirizzare a una pagina (home) tramite un'altra pagina (pagina di successo) in cui deve essere visualizzato un messaggio di successo?] (Http://stackoverflow.com/questions/2949301/how-can -i-redirect-to-a-page-home-via-another-pagesuccess-page-where-some-suc) – kennytm

+0

Sono solo curioso, perché vorresti mai farlo? Ogni volta che visitai una tale pagina, avrei preferito essere diretta in 0 secondi. – allesklar

+0

@allesklar scusa per la risposta tardiva. Sono in sviluppo di un sito e volevo vedere se c'era un modo più semplice per passare dall'editor di codice al browser Web senza dover aggiornare ogni volta. – codedude

risposta

138
<meta http-equiv="refresh" content="3;url=http://www.google.com/" /> 
+0

Grazie. Funziona per me ... –

50

Probabilmente stai cercando il metarefresh tag:

<html> 
    <head> 
     <meta http-equiv="refresh" content="3;url=http://www.somewhere.com/" /> 
    </head> 
    <body> 
     <h1>Redirecting in 3 seconds...</h1> 
    </body> 
</html> 

notare che l'uso di metarefresh è deprecato e visto di buon occhio in questi giorni, ma a volte è l'unica opzione praticabile (ad esempio, se si Non è possibile eseguire la generazione lato server di intestazioni di reindirizzamento HTTP e/o è necessario supportare client non JavaScript ecc.

4

Il modo più semplice sta usando HTML tag META come questo:

<meta http-equiv="refresh" content="3;url=http://example.com/" /> 

WikiPedia

36

Se si desidera un maggiore controllo è possibile usare javascript, piuttosto che utilizzare il meta tag. Ciò ti consentirebbe di avere una visualizzazione di qualche tipo, ad es. un conto alla rovescia.

Qui è un approccio molto semplice utilizzando setTimeout()

<html> 
 
    <body> 
 
    <p>You will be redirected in 3 seconds</p> 
 
    <script> 
 
     var timer = setTimeout(function() { 
 
      window.location='http://example.com' 
 
     }, 3000); 
 
    </script> 
 
</body> 
 
</html>

+0

Questa sarebbe la strada da percorrere se si desidera che il testo ricominci dinamicamente a 0 prima del reindirizzamento. Utilizzare un timer da 1 secondo, in cui la funzione timer aggiorna il testo HTML e quindi avvia un nuovo timer da 1 secondo, finché non sono trascorsi 3 secondi, quindi esegui il reindirizzamento. –

+0

la casella snippet del codice di esecuzione non funziona –

2

Inserire il seguente codice HTML reindirizzare il codice tra i tag del codice HTML.

<meta HTTP-EQUIV="REFRESH" content="3; url=http://www.yourdomain.com/index.html">

Il codice di reindirizzamento HTML sopra sarà reindirizzare i visitatori ad un'altra pagina web istantaneamente. Il contenuto = "3; può essere modificato al numero di secondi che il browser deve attendere prima di reindirizzare. 4, 5, 8, 10 o 15 secondi, ecc.

0

Utilizzare questo semplice codice javascript per reindirizzare la pagina a un'altra pagina utilizzando l'intervallo di tempo ...

si prega di aggiungere questo codice nella tua pagina del sito web, che è si desidera reindirizzare:

<script type="text/javascript"> 
(function(){ 
    setTimeout(function(){ 
    window.location="http://brightwaay.com/"; 
    },3000); /* 1000 = 1 second*/ 
})(); 
</script> 
+0

'' è un'opzione migliore in quanto è più semplice e funziona senza supporto JavaScript. – Edward

+0

hai ragione fratello ... ma dipende dalla situazione .. a volte dobbiamo reindirizzare su un evento specifico perché JS è l'opzione migliore. –

+0

Ho capito cosa intendi, "Sunny S.M". Anche se i meta tag dovrebbero essere usati quasi sempre, potrebbero esserci scenari specifici come il tuo in cui JavaScript sarebbe l'unica opzione. – Edward

9

Ecco un completo (ma semplice) esempio di reindirizzamento dopo X secondi , durante l'aggiornamento di un contatore div:

<html> 
<body> 
    <div id="counter">5</div> 
    <script> 
     setInterval(function() { 
      var div = document.querySelector("#counter"); 
      var count = div.textContent * 1 - 1; 
      div.textContent = count; 
      if (count <= 0) { 
       window.location.href="https://example.com"; 
      } 
     }, 1000); 
    </script> 
</body> 
</html> 

Il contenuto iniziale del div è il numero di secondi di attesa.

+0

Questo non ha funzionato fino a quando ho sostituito 'location.href =" https://example.com ";' con 'window.location = 'https: // example.com'' – NateH06

+0

Grazie, risposta modificata. – noamtm

Problemi correlati