ajax请求与dom /浏览器效率之间的关系?谁赢?

| 我有一个使用可滚动jQuery轮播类型显示的应用程序。此显示包含属于用户的照片...每张照片都具有大量的同级html内容(与将鼠标悬停在其上时所显示的照片有关的数据等)-因此,此标记以及图像标签已全部包含嵌套在具有CSS类“ photo”的容器元素中。 为了使事情更加复杂,每张照片都是可拖动的,并附加了其他几种行为/事件监听器。 当我最初设计时,我担心传送带上的数据太多(例如,想象一个拥有10000张照片的用户)。我很快就想到dom中的元素过多,并且所有内容都可拖动,并且然后旋转彩色的死亡球,然后崩溃。 我对此的解决方案是通过分页来限制轮播的负载,并且仅获取给定页面的资产...这意味着对于给定用户浏览其照片将有大量xhr请求。这也让我感到担忧。 所以我想知道社区怎么说?什么更好?过载的dom?或许多xhr请求?还是答案可能更像是两者之间的平衡? 意见?     
已邀请:
许多XHR请求是必经之路。 IE特别不喜欢混乱的DOM。它可以很好地处理静态显示,但是如果您尝试使用jQuery动画,您将得到非常不整洁的丑陋结果。 我将使用http://api.jquery.com/jQuery.template/定义一些客户端模板,并将图片的JSON元数据传回。这样,您的网络流量就很小。因此,要加载5-10即可开始,然后一次缓冲10。最多100个左右时,删除轮播的开头。然后,您可以根据“ <数字>”在IE <9中的表现(这些浏览器应该可以)使用它们。     
使用ajax,一次只加载
x
,直到用户进一步滚动轮播,然后再加载
x
。     
就个人而言,每当我处理此类问题时,我都会查看我要开发的浏览器。 如果是为客户准备的,或者是要出售给特定人群的东西,则可以“控制”您正式支持的环境,弄清楚是什么,并为浏览器。例如,Internet Explorer(IE9之前的版本)陷入了很多AJAX请求的泥潭,您可能会受益于仅遮盖页面顶部的某种加载栏,同时用元素填充DOM。 但是,据我所知,Firefox没有任何AJAX限制,因此我将始终用于在那里分页/进行多个AJAX调用。 作为我自己的经验法则,我想尝试使AJAX首先工作。如果可以的话,这通常是目前最有效/最简便的方法。如果可行,它总是更好。     
我倾向于两者之间的平衡。也许是在页面加载时,先显示初始照片集,然后在显示初始照片集后在后台预加载下一组照片(无论是JS还是CSS方法,我不确定哪种效率更高) ),并且在分页时,当您提出AJAX请求以检索并构建下一组照片时,就会看到预加载的照片集。 这样,每次用户分页时,他们都不必等待服务器响应AJAX请求,但您最终也不会在DOM中得到10000张照片。     

要回复问题请先登录注册