【发布时间】:2011-03-02 23:41:03
【问题描述】:
我发现了一些与滚动和渲染以及 javascript 相关的奇怪行为。
如何实现:
在任何足够长的网页上滚动。开始快速滚动(翻页)。然后松开触摸。 现在,由于动量,页面仍在滚动。点击屏幕停止滚动。
这会使浏览器进入一个奇怪的模式。
在 nexus 上,它的行为如下: 屏幕上显示内容的更新停止,您仍然可以单击链接并转到它们应该到达的位置,但屏幕上显示的内容保持不变。
如果您随后稍微滚动屏幕,屏幕的更新将再次启动,并且您一直希望看到的内容会显示出来。
在我尝试过的所有带有 HTC Sense 的手机上(Hero、Desire、Legend)都会发生这种情况:
屏幕的更新就像在 nexus 上一样停止,但任何 javascript 的执行也停止了。 如果您单击一个链接将您带到另一个页面,但一切又会恢复正常。
我测试这个的方法是我创建了一个这样的页面:
changeColor 函数只是将“容器”的背景颜色更改为几种不同的颜色。
所以在错误发生之前,当您单击任何链接时,颜色会发生变化。
错误发生后:
连结一: 当您单击链接时,什么也没有发生(除了“橙色链接选择圆角框的东西”显示为好像链接被单击一样)。然后当你滚动升位时。 您可以看到颜色发生了变化(与我点击链接的次数相同)。
意义: 这些链接将我带到 google.com
有没有其他人注意到这个问题?有没有办法解决它?
谢谢。
【问题讨论】:
-
我遇到了同样的问题。我有一个通过 JS 在计时器上更改的背景。你可以缩放,但是一旦你滚动它就会停止执行。
-
您是否尝试附加一个 javascript-debugger 并查看是否抛出了一些 JS 错误?
-
发布的脚本链接已失效......为什么我们永远无法回答的问题有悬赏?
-
我点击了你的链接,但是我收到了这个错误:对不起,发生了错误。原因:那是一个无效的ID,或者帖子已过期。请更正您的链接,否则我们无法为您提供帮助。
-
同样的事情发生在 iPhone 上。这个网站上有一些关于这个问题的重复问题。都没有解决。
标签: javascript android rendering locks