当标签处于非活动状态时,iOS 5会暂停JavaScript

当标签处于非活动状态时,iOS 5会暂停JavaScript,第1张

概述我有一个特定于iOS 5的问题,相同的代码适用于ios 4.X和其他桌面浏览器. 我每隔几秒就使用JavaScript做一些事情,现在问题是当我切换到iPad safari中的另一个标签时,这个脚本停止工作. 当我切换回此选项卡时,它会再次开始工作. 你可以在这个页面上重现它, http://www.w3schools.com/js/tryit.asp?filename=tryjs_timing_ 我有一个特定于iOS 5的问题,相同的代码适用于ios 4.X和其他桌面浏览器.

我每隔几秒就使用JavaScript做一些事情,现在问题是当我切换到iPad safari中的另一个标签时,这个脚本停止工作.

当我切换回此选项卡时,它会再次开始工作.

你可以在这个页面上重现它,
http://www.w3schools.com/js/tryit.asp?filename=tryjs_timing_infinite

访问此链接,单击开始计数,然后转到其他浏览器选项卡.当您在几秒钟后返回此选项卡时,您会注意到当选项卡未激活时计数器没有增加.

我认为Apple这样做是为了提高性能.有人可以建议一个解决方案让它工作,我完全坚持这个问题?

解决方法 如果您有一个计数器,而不是将其递增1秒,则存储“开始时间”,然后计算自该开始时间以来的计数.你仍然会每秒都这样做,但它会从暂停期间恢复.

<div ID="counter"></div><script>var startTime = new Date();var updateCounter = function () {    var displayArea = document.getElementByID("counter");    var currentTime = new Date.Now();    var differenceInSeconds = Math.round((currentTime - startTime) / 1000);    displayArea.INNERHTML = differenceInSeconds ;}window.setInterval(updateCounter,1000);</script>

See the working example on JS Fiddle

UPDATE

我刚刚在运行IOS5的iPad2上进行了测试,它肯定会暂停在非活动选项卡中执行JavaScript.您将无法阻止此行为,您只需使用它即可.

View the test page on JS Fiddle

总结

以上是内存溢出为你收集整理的当标签处于非活动状态时,iOS 5会暂停JavaScript全部内容,希望文章能够帮你解决当标签处于非活动状态时,iOS 5会暂停JavaScript所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1056048.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存