【发布时间】:2012-06-18 14:53:18
【问题描述】:
我有一系列页面可以打开弹出窗口(Mobile Safari 中的新标签页)。每个弹出窗口都需要知道它们何时是焦点。在台式机上,我们使用window.onblur 和window.onfocus 来驱动这种行为。但是,这些事件都不能在 iPad 上运行。我还尝试了window.onpageshow 和window.onpagehide,它们似乎也没有在正确的时间触发。我有一个测试 HTML 文件:
<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>
理论上,当您单击“单击我”时,您应该会在新窗口出现时收到一个模糊事件。但这不会发生在 Mobile Safari 上。 onpagehide 和 onpageshow 也没有表现出爱,它们只会帮助检测您何时要关闭标签。
如何在 Mobile Safari 中获得我正在寻找的行为?有可能吗?
【问题讨论】:
标签: javascript iphone ios ipad mobile-safari