有没有办法看到当用户切换到另一个窗口,在iPhone上,一个浏览器窗口最小化?(Is there a

2019-06-23 12:10发布

有没有办法看到当用户切换到IPhone其他窗口,一个浏览器窗口最小化? 同样关于当浏览器窗口变得切换到任何其他应用程序无效。

我试图绑定到jQuery的聚焦状态的onblur事件( $(window).blur(...); ),但没有得到回调。

谢谢!

Answer 1:

我认为最接近你在找什么是pageshowpagehide事件 。 在测试中,我在的iOS 5.1,切换到来自移动Safari浏览器的另一个应用程序时做了后双按home键,在pagehide事件似乎是应用程序实际上切换之前立即解雇,而如果我按了home键只是一次去主屏幕看起来JavaScript的线索,立即停止并为事件侦听器时移动版Safari开始聚焦再只调用。

这是你将如何监听事件:

window.addEventListener('pageshow', myPageShowListenerFunc, false);
window.addEventListener('pagehide', myPageHideListenerFunc, false);


Answer 2:

更高版本的iOS pageshowpagehide不可靠的工作了。 但是,你现在可以使用visibilitychange (按home键)事件,这是当用户打开其他浏览器选项卡触发,或将浏览器最小化时。

所以,你的代码看起来像

window.addEventListener('visibilitychange', myVisibilityHandleFunc, false);

或使用jQuery

$(document).on('visibilitychange', myVisibilityHandleFunc);

从MDN :

在网页浏览权限API可以让你知道当一个网页是可见的或焦点。 利用标签浏览,有一个合理的机会,任何特定的网页在后台,因此对用户不可见的。 当用户最小化的网页或移动到另一个选项卡,将API发送有关网页的能见度visibilitychange事件。

有一个名为属性document.webkitHidden可用于iPhone手机,要知道,如果变化是明显的- >隐藏,或隐藏的- >可见。



文章来源: Is there a way to see that a browser window is minimized while the user is switching to the other window on iphone?