问题
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.
回答1:
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.
回答2:
Use pagehide
event (reference)
来源:https://stackoverflow.com/questions/6205989/is-there-an-alternative-method-to-use-onbeforeunload-in-mobile-safari