Esiste un metodo alternativo per utilizzare onbeforeunload in mobile safari?

Esiste un metodo alternativo da utilizzare invece di onbeforeunload in mobile-safari? Ho notato che Google è riuscita a catturare l’evento onbeforeunload in mobile-safari. Qualcuno ha capito come stanno facendo così?

Google è stato in grado di farlo utilizzando il proprio client Gmail. Crea un nuovo messaggio … digita qualcosa nell’area di testo … premi il pulsante Indietro del browser. Viene visualizzato un messaggio di avviso. Ho usato un iPad per fare il mio test.

Direi che stanno usando l’API History. Ascoltando popstate

 window.addEventListener("popstate", function(e) { ... }); 

puoi mostrare un avvertimento prima di permettere di fare qualcosa di stupido.

Usa evento pagehide ( riferimento )