Tengo un juego Flash que intento salvar el estado de cuando el usuario cierra la pestaña del navegador. Se está utilizando el siguiente código de jQuery:¿Cómo hacer una solicitud de descarga de ventanas entre navegadores?
//Called from Flash when window closes
function sendRequest(url, params) {
$.ajax({
type: "POST",
async: false,
url: url,
data: params
})
}
$(window).unload(function() {
//Make Flash attempt to save the game when the window closes.
//Flash gets the necessary data and calls sendRequest()
document["flashGame"].saveBeforeUnload();
});
- Firefox: funciona correctamente
- Chrome: funciona correctamente cuando recarga pero no cuando lengüetas de cierre o cerrar el navegador
- IE (todas las versiones): no funciona en absoluto
wan Para que funcione en todos los navegadores correctamente, pero lo más importante es Chrome (no muchos de nuestros usuarios tienen IE).
Flash está llamando correctamente sendRequest (en todos los navegadores, probados con una alerta), por lo que no creo que los problemas provengan de Flash, pero podría ser.
No creo que pueda ni creo que deba confiar en .unload, si el usuario desea cerrar el navegador, quiere cerrar el navegador. ¿Su pedido tarda más de unos pocos minutos en guardarse si el navegador espera? ¿Por qué no guardar el juego en decir un temporizador de 30 segundos para que el mayor tiempo que estarán fuera de 30 segundos, entonces usted no tiene que preocuparse por el evento de descarga – dstarh
@dstarh: Ya guardamos el juego en un temporizador. El objetivo de esto es evitar que los jugadores pierdan esos últimos segundos de acciones. A menudo, esas últimas acciones son importantes. – Fragsworth
por lo que está diciendo que una persona que hace clic en la X para cerrar la ventana de su navegador debe esperar que todo lo que haya hecho en los últimos segundos se guarde? Creo que entrenar al usuario para que haga clic en un botón para guardar y luego cerrar el navegador es tiempo mejor utilizado.Necesitamos sacar a los usuarios de la mentalidad de "Saqué el cable de alimentación de la pared, ¿por qué no se salvó todo ???? !!!" – dstarh