¿Alguien sabe si el evento onbeforeunload
es compatible con el iPad y/o si hay una forma diferente de usarlo?window.onbeforeunload no funciona en el iPad?
He intentado casi todo, y parece que el evento onbeforeunload
nunca se desencadena en el iPad (navegador Safari).
En concreto, esto es lo que he intentado:
window.onbeforeunload = function(event) { event.returnValue = 'test'; }
window.onbeforeunload = function(event) { return 'test'; }
- (los dos anteriores juntos)
window.onbeforeunload = function(event) { alert('test')'; }
- (todas las funciones anteriores, pero en el interior
<body onbeforeunload="...">
Todos estos funcionan en FF y Safari en la PC, pero no en el iPad.
Además, me he hecho la siguiente justo después de cargar la página:
alert('onbeforeunload' in window);
alert(typeof window.onbeforeunload);
alert(window.onbeforeunload);
Respectivamente, los resultados son los siguientes:
true
object
null
Por lo tanto, el navegador tiene la propiedad, pero por alguna razón no se dispara.
Las formas en que trato de navegar fuera de la página son haciendo clic en los botones hacia atrás y hacia adelante, haciendo una búsqueda en Google en la barra superior, cambiando la ubicación en la barra de direcciones y haciendo clic en un marcador.
¿Alguien tiene alguna idea sobre lo que está pasando? Agradecería mucho cualquier aporte.
Gracias
gracias a ambos por su entrada. Debe ser una de las razones que mencionaste. Desafortunadamente, no hay documentación oficial de Apple con respecto a esta y otras limitaciones. Con suerte, se les ocurrirá una forma más creativa de habilitar esta característica, mientras se evita el uso malicioso de la misma. Oigo muy a menudo que las personas accidentalmente hacen tapping fuera de la página y pierden todos los datos que ingresaron en un formulario. –
¿Ha intentado usar 'addEventListener()'? – Hello71
Estoy bastante seguro de que 'beforeunload' no funciona en Safari en iOS. :-(Tal vez no sea lo que está buscando, pero tengo una sugerencia de cómo [probar de forma confiable un 'beforeunload' de trabajo] (http://stackoverflow.com/a/18137334/345716) –