1

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

我很难确定原因。我知道他们说过渡存在问题,我尝试添加.ui-page { -webkit-backface-visibility: hidden },但没有帮助。

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

此外,基于设备,所有脚本要么加载到桌面的页脚中,要么加载到移动设备的头部中。但是,两者的主脚本文件都加载在页脚中。否则,这些脚本将无法在手机上运行。

不确定 iOS 是否阻止滚动上的 DOM 操作与某些东西冲突。

我只想链接该网站,但专业保密等等。

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

4

1 回答 1

0

According to the documentation (navigate to "scrollstart"), it is expected that DOM manipulation is frozen during scroll in iOS devices, even in iOS 7.

于 2014-01-12T14:30:48.973 回答