滚动时jQuery Mobile会冻结

时间:2013-08-08 13:09:58

标签: ios jquery-mobile scroll freeze

在移动设备(至少iPhone 4和5)上滚动启用jQuery Mobile的网站时,它几乎总是会冻结几秒钟,有时会显着更长。通常它最终会崩溃,我必须从内存中杀死Safari(或Chrome)。

我无法确定原因。我知道他们声明转换存在问题,我尝试添加.ui-page { -webkit-backface-visibility: hidden },但它没有帮助。

我猜它可能与一个或多个正在运行的脚本有关。我的脚本文件基本上包含一组运行桌面和移动设备的脚本,以及另外两个分别专门为桌面和移动设备运行的脚本。公共集包含在条件就绪函数中,$(document).ready用于桌面,$(document).on('pageinit)用于移动设备。

此外,根据设备,所有脚本都加载到桌面的页脚和移动设备的头部。但是,主脚本文件在页脚中加载。否则,脚本将无法在移动设备上运行。

不确定iOS在滚动时阻止DOM操作是否与某些内容冲突。

我只想链​​接网站,但专业机密和所有这些。

我不是要求您猜测原因可能是什么,但我真的很感激使用jQuery Mobile开发优化性能的一些基本原则的概述。

1 个答案:

答案 0 :(得分:0)

根据documentation(导航到“scrollstart”),预计在iOS设备中滚动时,DOM操作会被冻结,即使在iOS 7中也是如此。