我有定期执行活动的JavaScript.当用户没有看到该站点时(即窗口或选项卡没有焦点),最好不要运行.
有没有办法使用JavaScript?
我的参考点:如果您使用的窗口未处于活动状态,则Gmail聊天会播放声音.
我有一系列打开弹出窗口的页面(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>
Run Code Online (Sandbox Code Playgroud)
理论上,当您单击"单击我"时,您应该在出现新窗口时出现模糊事件.但这不会发生在Mobile Safari上.onpagehide并且也onpageshow没有表现出爱,它们只能帮助您检测何时关闭标签.
如何在Mobile Safari中获取我正在寻找的行为?有可能吗?
当用户单击当前浏览器选项卡的关闭按钮时,我需要获取任何事件.在这种情况下我没有使用任何方法(例如onunload,unload和pagehide事件处理不检测关闭选项卡,只更改或更新选项卡).
我正在为iOS开发Web应用程序并使用DOMApplicationCache.我知道Web应用程序无法在后台运行,但我仍然希望在用户切换到另一个应用程序并稍后返回到Web应用程序时模拟应用程序的简历.
为了做到这一点,我至少需要记录Web App终止/卸载的时间.但是window.unload似乎没有激发.
有没有人知道如何捕获运行WebApp的终止?
PS:在一个相关的问题上,当apple-mobile-web-app-capable是的时,console.log会去哪里?
javascript web-applications mobile-safari iphone-standalone-web-app