【问题标题】:Javascript and rendering pauses and stays paused on scroll in the android browserJavascript 和渲染暂停并在 android 浏览器中滚动时保持暂停
【发布时间】:2011-03-02 23:41:03
【问题描述】:

我发现了一些与滚动和渲染以及 javascript 相关的奇怪行为。

如何实现:

在任何足够长的网页上滚动。开始快速滚动(翻页)。然后松开触摸。 现在,由于动量,页面仍在滚动。点击屏幕停止滚动。

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

在 nexus 上,它的行为如下: 屏幕上显示内容的更新停止,您仍然可以单击链接并转到它们应该到达的位置,但屏幕上显示的内容保持不变。

如果您随后稍微滚动屏幕,屏幕的更新将再次启动,并且您一直希望看到的内容会显示出来。

在我尝试过的所有带有 HTC Sense 的手机上(Hero、Desire、Legend)都会发生这种情况:

屏幕的更新就像在 nexus 上一样停止,但任何 javascript 的执行也停止了。 如果您单击一个链接将您带到另一个页面,但一切又会恢复正常。

我测试这个的方法是我创建了一个这样的页面:

http://pastebin.ca/1881620

changeColor 函数只是将“容器”的背景颜色更改为几种不同的颜色。

所以在错误发生之前,当您单击任何链接时,颜色会发生变化。

错误发生后:

连结一: 当您单击链接时,什么也没有发生(除了“橙色链接选择圆角框的东西”显示为好像链接被单击一样)。然后当你滚动升位时。 您可以看到颜色发生了变化(与我点击链接的次数相同)。

意义: 这些链接将我带到 google.com

有没有其他人注意到这个问题?有没有办法解决它?

谢谢。

【问题讨论】:

  • 我遇到了同样的问题。我有一个通过 JS 在计时器上更改的背景。你可以缩放,但是一旦你滚动它就会停止执行。
  • 您是否尝试附加一个 javascript-debugger 并查看是否抛出了一些 JS 错误?
  • 发布的脚本链接已失效......为什么我们永远无法回答的问题有悬赏?
  • 我点击了你的链接,但是我收到了这个错误:对不起,发生了错误。原因:那是一个无效的ID,或者帖子已过期。请更正您的链接,否则我们无法为您提供帮助。
  • 同样的事情发生在 iPhone 上。这个网站上有一些关于这个问题的重复问题。都没有解决。

标签: javascript android rendering locks


【解决方案1】:

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

iScroll4 让我们可以做一些很酷的事情(比如固定页眉/页脚),但它在一些较旧/更糟糕的 Android 手机中确实存在一些性能问题...

我不能保证它会解决你的问题,而且它会是最后的手段,但如果你对 iScroll 的其他功能感兴趣,或者如果你遇到了你的错误是死胡同,它是你的应用程序的障碍。

【讨论】:

    猜你喜欢
    • 2019-04-12
    • 1970-01-01
    • 2019-04-23
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    相关资源
    最近更新 更多