2010-09-02 16 views
14

Ho una pagina Web che utilizza $(document).ready() per creare l'interfaccia. Quindi l'utente può andare a una pagina figlio, e per tornare alla pagina originale che può premere il pulsante del browser "precedente" o un tasto "Return" nella pagina che innesca un history.back();. Torna alla pagina originale, $(document).ready() non viene attivato in modo che la pagina manchi informazioni.

c'è un modo per far scattare automaticamente come se fosse un "vero e proprio carico"?

grazie!

modificare

mettendo un avviso in essa, l'avviso è poped ma roba manca nella mia interfaccia come se una parte della manifestazione pronta manca. Indagare ...

Edit 2

hahahahaha in document.ready ho click alcuni casella di controllo che si suppone essere deselezionata. Quando "torno" su questa pagina, vengono controllati in modo che diventino deselezionati perché sono click loro.

spiacenti, questo è tutto il mio male :(

+0

In che browser stai vedendo questo? Ricordo solo Opera che ha questo problema con i pulsanti Indietro/Avanti. –

+0

Sono su Chrome. L'utente che ha segnalato il problema è su Firefox. – Sirber

+0

si prega di chiudere close – Sirber

risposta

7

Se l'utente utilizza il pulsante Back per navigare e si richiede una ricarica completa della pagina, è possibile impostare il NO-CACHE la politica della pagina.

In questo modo il browser è costretto a ricaricare la pagina dal server, anche utilizzando il pulsante Back.

+0

risposta hrmm..nice. Non ci avevo pensato. – Dutchie432

+0

Uso già: header ("Cache-Control: private, no-cache, must-revalidate"); intestazione ("Pragma: no-cache"); – Sirber

+0

Ho aggiunto '', ma non ricarica la pagina quando premo "indietro". – Sirber

1

Domanda molto interessante. Potrebbe essere necessario riattivare l'evento/la funzione quando la pagina viene messa a fuoco o qualcosa di simile. potrebbe anche essere necessario mantenere una variabile di flag da tracciare r un 'evento che riattiva' è in ordine.

4

1.) ha messo gli script in fondo alla pagina.
2.) eseguire plugin e quant'altro negli ultimi tag di script.
3.) Non utilizzare affatto le implementazioni suDomReady, è ridondante.

Le persone sono così abituate a scaricare o ondomready, trascurano il fatto che mettere gli script in fondo a una pagina fa praticamente la stessa cosa senza la necessità di eseguire il polling e vedere se il proprio html è disponibile.

Inoltre, è anche buona pratica come i vostri script non bloccano il rendering html/css sia.

Non a seconda onDomReady o onLoad implementazioni risolve un sacco di problemi.

+1

-1, per un browser in cui 'onload' non funziona, la soluzione non funziona altrettanto bene. Per esempio. FireFox, non esegue lo script a prescindere dal fatto che lo si sia caricato o scaricato nella parte inferiore della pagina. Hai anche provato? – Pacerier

8

Una rapida soluzione a questo problema, utilizzare "onpageshow" invece.

window.onpageshow = function(event) { 
    //do something 
}; 
+0

Grazie! Nessuna delle altre soluzioni proposte ha funzionato correttamente su Firefox e Chrome, ma questo è vero. –

Problemi correlati