Come si può salvare un po ' di JavaScript informazioni sullo stato di nuovo al mio server onUnload?

StackOverflow https://stackoverflow.com/questions/73335

  •  09-06-2019
  •  | 
  •  

Domanda

Ho un ExtJS griglia in una pagina web e vorrei risparmiare un po ' del suo stato di informazioni al server quando l'utente lascia la pagina.Posso fare questo con una richiesta Ajax onUnload?Se non lo è, cosa c'è una soluzione migliore?

È stato utile?

Soluzione

È possibile utilizzare una richiesta Ajax, ma essere sicuri di fare una richiesta sincrona, piuttosto che un asychronous uno.In alternativa, è sufficiente salvare lo stato ogni volta che l'utente effettua una modifica, questo protegge anche i dati, se il browser si blocca.

Altri suggerimenti

Non c'è una risposta di cui sopra che dice di usare un sincrono chiamata ajax, e che è il best case scenario.Il problema è che scarico non funziona ovunque.Se si guarda qui troverete alcuni trucchi per aiutarvi a ottenere scaricare gli eventi in safari...Si potrebbe anche usare Google Gears per salvare contenuti dal lato dell'utente per le situazioni in cui l'utente sarà di ritorno, ma il solo modo sicuro per mantenere le informazioni di un continuo invio di esso fino a quando l'utente sulla pagina o effettuare modifiche.

Si potrebbe anche impostare un cookie utilizzando javascript su scarica.Penso che il vantaggio ajax ha più di cookies è che hai i dati disponibili per il reporting e l'utente (se registrato) può utilizzare i dati su diverse macchine.

Lo svantaggio dell'utilizzo di ajax è che potrebbe rallentare l'effettiva chiusura della finestra del browser, che può essere fastidioso se il server è lento a rispondere.

Dipende da come l'utente abbandona la pagina.Se c'è un 'disconnessione' pulsante con la GUI, è possibile attivare una richiesta ajax quando l'utente fa clic su questo pulsante.Altrimenti non credo sia una buona idea per fare una richiesta in onUnload.Come detto in precedenza si dovrebbe fare una richiesta sincrona...Un'alternativa per il cookie soluzione potrebbe essere un campo di testo nascosto.Questa è una tecnica che di solito utilizzate da strumenti quali RSH che si occupano di storia, problemi che vengono con l'ajax.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top