有没有办法看到当用户切换到IPhone其他窗口,一个浏览器窗口最小化? 同样关于当浏览器窗口变得切换到任何其他应用程序无效。
我试图绑定到jQuery的聚焦状态 , 的onblur事件( $(window).blur(...);
),但没有得到回调。
谢谢!
有没有办法看到当用户切换到IPhone其他窗口,一个浏览器窗口最小化? 同样关于当浏览器窗口变得切换到任何其他应用程序无效。
我试图绑定到jQuery的聚焦状态 , 的onblur事件( $(window).blur(...);
),但没有得到回调。
谢谢!
我认为最接近你在找什么是pageshow
和pagehide
事件 。 在测试中,我在的iOS 5.1,切换到来自移动Safari浏览器的另一个应用程序时做了后双按home键,在pagehide
事件似乎是应用程序实际上切换之前立即解雇,而如果我按了home键只是一次去主屏幕看起来JavaScript的线索,立即停止并为事件侦听器时移动版Safari开始聚焦再只调用。
这是你将如何监听事件:
window.addEventListener('pageshow', myPageShowListenerFunc, false);
window.addEventListener('pagehide', myPageHideListenerFunc, false);
更高版本的iOS pageshow
和pagehide
不可靠的工作了。 但是,你现在可以使用visibilitychange
(按home键)事件,这是当用户打开其他浏览器选项卡触发,或将浏览器最小化时。
所以,你的代码看起来像
window.addEventListener('visibilitychange', myVisibilityHandleFunc, false);
或使用jQuery
$(document).on('visibilitychange', myVisibilityHandleFunc);
从MDN :
在网页浏览权限API可以让你知道当一个网页是可见的或焦点。 利用标签浏览,有一个合理的机会,任何特定的网页在后台,因此对用户不可见的。 当用户最小化的网页或移动到另一个选项卡,将API发送有关网页的能见度visibilitychange事件。
有一个名为属性document.webkitHidden
可用于iPhone手机,要知道,如果变化是明显的- >隐藏,或隐藏的- >可见。