Qualcuno sa se l'evento onbeforeunload
è supportato su iPad e/o se esiste un modo diverso di utilizzarlo?window.onbeforeunload non funziona su iPad?
Ho provato praticamente tutto e sembra che l'evento onbeforeunload
non venga mai attivato sull'iPad (browser Safari).
In particolare, questo è ciò che ho provato:
window.onbeforeunload = function(event) { event.returnValue = 'test'; }
window.onbeforeunload = function(event) { return 'test'; }
- (sia di quanto sopra insieme)
window.onbeforeunload = function(event) { alert('test')'; }
- (tutte le funzioni di cui sopra ma dentro
<body onbeforeunload="...">
Tutti questi funzionano su FF e Safari sul PC, ma non sull'iPad.
Inoltre, ho fatto quanto segue subito dopo il caricamento della pagina:
alert('onbeforeunload' in window);
alert(typeof window.onbeforeunload);
alert(window.onbeforeunload);
Rispettivamente, i risultati sono:
true
object
null
Quindi, il browser ha la proprietà, ma per qualche motivo non viene licenziato.
I modi in cui provo ad allontanarmi dalla pagina sono facendo clic sui pulsanti Indietro e Avanti, eseguendo una ricerca su google nella barra in alto, cambiando la posizione nella barra degli indirizzi e facendo clic su un segnalibro.
Qualcuno ha qualche idea su cosa sta succedendo? Apprezzerei molto qualsiasi input.
Grazie
Vi ringrazio entrambi per il vostro input. Deve essere uno dei motivi che hai menzionato. Sfortunatamente, non esiste documentazione ufficiale di Apple per quanto riguarda questa e altre limitazioni. Si spera che offriranno un modo più creativo di abilitare questa funzione, impedendo nel contempo l'uso malevolo di questa funzione. Ho sentito molto spesso che la gente accidentalmente toglie la pagina e perde tutti i dati inseriti in un modulo. –
Hai provato a usare 'addEventListener()'? – Hello71
Sono abbastanza sicuro che 'beforeunload' non funzioni su Safari su iOS. :-(Forse non è quello che stai cercando, ma ho un suggerimento su come [testare in modo affidabile un 'beforeunload' funzionante] (http://stackoverflow.com/a/18137334/345716) –