0

我正在使用带有大量数据的 jquery mobile。我正在使用 ajax 加载数据,问题是在加载所有数据约 600 条记录后,当我向上滚动并单击标题中的搜索框(输入类型文本)时,响应时间过长。请帮我解决问题

4

2 回答 2

2

解决此问题的正常方法是尝试一次将较少的数据加载到 DOM 中。一次渲染更少的记录(比如 50 条),并添加分页(或 prev/next、更多等)

在 jQuery Mobile 中,您可以通过向页面添加一些按钮或链接来显示 prev/next 等,并且在按钮的事件处理程序中,您可以使用一组新记录更新您的列表视图。您必须调用 .listview('refresh') 来恢复列表视图的完整样式和行为。

我知道只显示部分记录可能并不理想,但考虑到移动设备的有限硬件性能,为了获得可接受的性能可能有必要。

于 2012-08-31T19:38:22.893 回答
0

从我的回答中尝试其中任何一个

  1. send你的记录enhanced markup= 做 Jquery Mobile 对服务器端 500 条记录所做的事情(这将增加你传输的数据量!)

  2. 使用data-enhance=false(加上配置)或don't listview("refresh")阻止 JQM 增强您已经增强的代码

  3. 手动gzip your ajax响应服务器端以再次减小文件大小

这样可以防止 JQM 增强 500 个列表项并将传输的文件大小保持在最低限度

于 2012-09-01T18:54:59.240 回答