在移动设备(至少iPhone 4和5)上滚动启用jQuery Mobile的网站时,它几乎总是会冻结几秒钟,有时会显着更长。通常它最终会崩溃,我必须从内存中杀死Safari(或Chrome)。
我无法确定原因。我知道他们声明转换存在问题,我尝试添加.ui-page { -webkit-backface-visibility: hidden }
,但它没有帮助。
我猜它可能与一个或多个正在运行的脚本有关。我的脚本文件基本上包含一组运行桌面和移动设备的脚本,以及另外两个分别专门为桌面和移动设备运行的脚本。公共集包含在条件就绪函数中,$(document).ready
用于桌面,$(document).on('pageinit)
用于移动设备。
此外,根据设备,所有脚本都加载到桌面的页脚和移动设备的头部。但是,主脚本文件在页脚中加载。否则,脚本将无法在移动设备上运行。
不确定iOS在滚动时阻止DOM操作是否与某些内容冲突。
我只想链接网站,但专业机密和所有这些。
我不是要求您猜测原因可能是什么,但我真的很感激使用jQuery Mobile开发优化性能的一些基本原则的概述。