Is there an alternative method to use onbeforeunload in mobile safari?

RJ Herbert picture RJ Herbert · Jun 1, 2011 · Viewed 21.8k times · Source

Is there an alternative method to use instead of onbeforeunload in mobile-safari? I've noticed that Google was able to capture the onbeforeunload event in mobile-safari. Has anyone figured out how they are doing so?

Google was able to do so using their gmail client. Create a new message... type something in the text area... hit the browser back button. It pops up a warning message. I used an iPad to do my test.

Answer

rrostt picture rrostt · Sep 7, 2011

I would guess that they are using the History API. By listening to popstate

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

you can show a warning before allowing doing anything stupid.