2012-04-27 60 views
6

我有一个webview,这是显示在应用程序中 有一个页面上的动画,一个数字计时器,我在那里显示图像每个数字像这样00:39,29:39,等JavaScript动画在ios safari webkit浏览器中停止,当手指在屏幕上时不会抬起

它正在动画使用的setInterval JavaScript中的 页面内的问题是,当我把我的手指在屏幕上,即触摸无抬起我的手指 浏览器暂停,这意味着动画不再动画,它停在我的手指触摸屏幕的地方,并且在我抬起手指后它将继续动画

我该如何解决这个问题? 我听说我可以使用防止默认方法,但不会忽略页面上的所有事件吗?除了在我的网页定时器

basicaly,我也有一些东西,用户可以交互,因此它正在寻找点击事件等

,所以我肯定要保留,以及 请帮助

发生这种情况的iOS设备上...如果我在桌面上运行布劳尔,一切似乎ok..not停止被观察

回答

0

发现是什么问题。 它与ajax请求或cpu 无关,这是因为引入了一个微小的滚动。显然,如果你正在滚动或滚动,所有的提示都将停止。

0

如果你按在柜台上或任何地方只是否停止?尝试防止点击计数器元素。例如..

$('#counter-container').click(function() 
{ 
    e.preventDefault(); 

    return false; 
}); 

编辑:显然,这不是一个罕见的问题。当iphone需要更多的CPU /内存资源时,它会停止执行javascript。看看使用setInterval(以给定的间隔执行javascript,直到调用clearInterval())来检测动画是否未成功完成。
相关的问题:
User interaction sometimes screws up jQuery ajax requests in UIWebView
AJAX constantly look for server update? Javascript
https://discussions.apple.com/thread/2723866?start=0&tstart=0

+0

谢谢先生,但anmation实际上停止,只要我把手指放在webview上的任何地方,而不仅仅是动画容器,所以解决方案不起作用 – user1118019 2012-04-30 21:09:17

+0

@ user1118019查看更新的答案 – 2012-04-30 22:06:13

+0

再次感谢后续行动,但我没有做任何ajax请求,并且我为简单的动画制作了一些东西,我不认为它会盗取cpu资源等。我检查动画是否行不通,我的意思是,首先,我们不知道是什么导致动画暂停,我真的怀疑这是CPU的原因。再次,我的动画在你抬起手指后恢复动画,动画是用于定时器的,比如说10秒的限制,用户应该在10秒内做一些动作,我不能重新制作动画,因为它会给用户10个以上的动画其次做任务,打破了规则。 – user1118019 2012-04-30 23:04:13

1

只是针对遇到此之后的任何一个:滚动的时候,这是你的Web视图是由手指触摸预期 动画总是在Web浏览器停止。 这将发生在桌面浏览器以及

相关问题