2009-10-08 16 views
8

ho una richiesta semplice per aggiornare una pagina utilizzando un codice Javascript di seguito:Forzare un aggiornamento della pagina utilizzando Javascript in Firefox

function tb_closeRefresh() { 
    window.location.reload(true); 
} 

Questo funziona bene in IE, ma Firefox ottiene solo la versione cache e ha bisogno che l'utente premere F5 per ottenere l'ultima versione della pagina.

ho aggiunto il meta tag:

<meta http-equiv="Pragma" content="no-cache"> 

Ma questo non aiuta.

Qualche idea ???

risposta

11

si potrebbe chiamare la stessa pagina, ma lascia apparire come si tratta di un altro pagina modificando querystring:

window.location.href = "index.html" + "?" + Date.parse(new Date()); 

Questo funziona per tutti i browser. Potresti migliorarlo estraendo la pagina corrente da location.href.

Edit:

Se si dispone già di un tu esistente querystring necessario utilizzare & INSEAD di ?:

window.location.href = "product.aspx?id=prod" + "&" + Date.parse(new Date()); 
+0

+1, stavo proprio per pubblicarlo da solo. Questo è il metodo che uso ogni volta che una pagina deve essere ricaricata tramite JS. – Duroth

+0

Grazie per la risposta. Ho appena provato questo e non ha funzionato. Posso solo supporre che sia perché sto usando la riscrittura dell'URL per riscrivere/product_name/to product.aspx? Id = prod. Ma non sono sicuro? –

2

provare

function page_reload() 
{ 
    window.location = 'http://domain.com/page.php'; 
} 

o

<a href="javascript:history.go(0);">Click here to refresh the page</a> 
8

Se si desidera aggiornare, è possibile ripristinare window.location a window.location.

window.location = window.location 

Assegnazione window.location eseguirà un redirect, e dal momento che window.location restituisce la posizione corrente, la dichiarazione di cui sopra agirà come un reindirizzamento.

+1

Ho provato questo, ma la pagina non ricarica affatto :) –

+0

Funziona alla grande !!!! – Schotime

+0

@Chris: su quale browser? –

1

non credo che Firefox supporta ricarica, si consiglia di utilizzare:

var myUrl = window.location; 
window.location.replace(myUrl) 

ho trovato che questo funziona in IE, Apple Safari e Firefox. NON sembra funzionare in Firefox su Mac.

0

forse funzioneranno?:

<meta http-equiv="Cache-control" content="no-cache"> 
<meta http-equiv="Cache-control" content="no-store"> 
+1

oh wow ... il codice viene eliminato in un forum di codifica? forse funzioneranno ?: ## ## asd

0

È possibile utilizzare questo codice qui sotto per il vostro problema

window.location.href = window.location.href + '?refresh'; 

Ma è necessario l'utilizzo di "pushState" per aggiornare l'URL, consulta questo per maggiori dettagli window.history.pushState refreshing the browser

Problemi correlati