2010-06-12 20 views
4

我发现了一些与滚动和渲染以及javascript相关的奇怪行为。Javascript和渲染暂停并停留在Android浏览器的滚动中

如何做到这一点:

任何网页上足够长,以滚动。开始滚动非常快(扔页面)。然后释放触摸。 现在,由于势头,页面仍在滚动。点击屏幕停止滚动。

这使得浏览器进入一个奇怪的模式。

在nexus上它的行为如下: 更新屏幕上显示的内容会停止,您仍然可以单击链接并前往所需的位置,但屏幕上显示的内容保持不变。

如果您稍后再滚动屏幕,屏幕的更新会再次启动,并显示您所在的位置。

在有HTC Sense的所有手机我已经试过(英雄,欲望,联想)发生这种情况:

屏幕的更新停止时,就像在Nexus One上,而且任何JavaScript的执行是停止。 如果您点击可将您带到另一个页面的链接,但事情又会恢复正常。

我测试了,这是我创造了这样的页面的方式:

http://pastebin.ca/1881620

的changeColor功能简单地改变“容器”的背景色为几个不同的颜色。

所以在错误发生之前发生的是,当你点击任何链接的颜色改变。

这种情况发生的错误后:

的Nexus one: 当你点击没有反应的链接(除了“橙色链接选择圆角盒事”显示为如果链接被点击)。然后当你滚动升技。 你可以看到颜色已经改变(和我点击链接的次数相等的次数)。

论观念: 的联系带我到google.com

有其他人注意到了这个问题?无论如何要解决它吗?

谢谢。

+0

我遇到同样的问题。我有一个背景,通过定时器上的JS进行更改。你可以缩放,但是一旦你完全滚动它就会停止执行。 – Jeff 2010-07-01 00:23:47

+1

您是否尝试附加JavaScript调试器并查看是否有一些JS错误被抛出? – Mannaz 2012-03-05 10:38:50

+2

张贴的脚本链接已经死了...为什么我们无法回答的东西有奖金? – Incognito 2012-03-08 21:49:32

回答

0

您可以尝试使用操纵浏览器滚动过程的插件,例如iScroll4

iScroll4让我们做一些很酷的东西(如固定页眉/页脚),但它确实有一些上了年纪/很烂的Android手机的一些性能问题......

我不能保证它如果你对iScroll的其他功能感兴趣,或者如果你的bug已经死光了,这是一个节目-stopper为您的应用程序。