HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 即使在iPad上运行时,移动Safari中即将发生的页面切换事件也不会触发大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
众所周知,Mobile Safari会在网页上暂停 Javascript执行

>切换到不同的浏览器标签
>切换到其他iOS应用程序(例如,当您收到来电时,手机应用程序)

您可以订阅窗口的“pagehide”和“pageshow”事件,以发现即将暂停和重新启动Javascript.

问题是,iPad Mobile Safari上的标签切换(1.)时,这些事件不会触发.在iPhone Mobile Safari上,一切都很好,如上所述.

证明是微不足道的:

<!DOCTYPE html>
<html>
<head>
    <script>
        window.addEventListener("pagehide",function(evt){
            var logger = document.getElementById('log_id');
            logger.innerText = logger.innerText + " pagehide fired!";
        },falsE);
    </script>
</head>
<body>
<div id="log_id"></div>
</body>
</html>

只有在进行应用程序切换(2.)而不是标签开关(1.)时,它才能在iPad(iOS5和iOS6 Preview3)上触发.所有iPhone都可以正常工作

有没有人能够检测到iPad浏览器上即将开始的标签页切换?

标签再次激活时,Javascript的重新启动可以通过this discussion of the same topic中所述的心跳环来检测.

解决方法

尝试检查文档上的焦点和模糊.

为什么需要页面可见性API?

>您可以使用存储事件来说其他页面,谁是活动的.>您可以使用定时器(seTinterval)来检查上次计时器启动的时间.如果它比预期更大 – 页面被隐藏,因为大多数浏览器停止计时器,所以页面被隐藏.

大佬总结

以上是大佬教程为你收集整理的ios – 即使在iPad上运行时,移动Safari中即将发生的页面切换事件也不会触发全部内容,希望文章能够帮你解决ios – 即使在iPad上运行时,移动Safari中即将发生的页面切换事件也不会触发所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。