I have a series of pages that open popups (new tabs in Mobile Safari.) Each of these popups needs to know when they are the focused or not. On desktops, we use window.onblur
and window.onfocus
to drive this behavior. However, none of these events work on iPad. I also tried window.onpageshow
and window.onpagehide
which don't seem to fire at the right times either. I have a test HTML file:
<html>
<head>
<script language="javascript">
console.log('Hello');
window.onblur = function(e) { console.log('blur'); };
window.onfocus = function(e) { console.log('focus'); };
window.onpagehide = function(e) { console.log('pagehide'); };
window.onpageshow = function(e) { console.log('pageshow'); };
</script>
</head>
<body>
<a href="http://www.google.com" target="_blank">Click Me</a>
</body>
</html>
In theory, when you click 'Click Me', you should get a blur event when the new window appears. But this doesn't happen on Mobile Safari. onpagehide
and onpageshow
show no love either, they only help for detecting when you're about to close the tab.
How can I get the behavior I'm looking for in Mobile Safari? Is it possible at all?