是否应监控页面上加载的html元素的数量?

时间:2014-01-04 13:09:43

标签: html asynchronous

我有一个应用程序,它在一个表元素中显示一个包含5-10000行的页面,并且有一个下拉菜单,可以切换到具有类似结构的其他视图。目前我在视图之间切换时执行异步请求(我也清除/从文档中删除当前视图)并每次加载适当的列表;但是,我在考虑

1)在请求查看之前在后台加载所有视图,以便在点击时立即加载。

2)只是隐藏一组特定的行而不是删除它,所以如果客户端导航回来,它也会立即生效。

这意味着可能会有数万个html元素被加载到当前文档中;这是一个问题吗?如果它超过十万分之一怎么办?

4 个答案:

答案 0 :(得分:4)

在页面上加载10000多个HTML元素并不是一个非常明智的想法。如果用户的计算机速度正常,则用户可能会遇到轻微的延迟,如果用户的计算机速度很慢,甚至可能导致系统崩溃(取决于系统上的RAM数量)计算机)。

您可以探索的技术是延迟加载HTML元素 - 这意味着当用户向下滚动到页面的特定部分时,元素将通过AJAX加载。 (也称为"无限滚动")。

这意味着浏览器的渲染引擎不必一次渲染这么多元素,这样可以节省内存,提高速度。

答案 1 :(得分:1)

这取决于HTML元素,但我认为根据经验,不要预先加载。

当我说它取决于元素时,我的意思是看看facebook。他们可能会在Feed中加载10或20个项目,然后在滚动时添加更多项目,因为每个项目的内容都非常丰富(照片,视频等)。

然而另一方面,考虑每行中有多少信息,如果它说,少于500字节,500 x 10000 = 5MB,这对于网络请求来说不是一个可怕的负载,如果你可以智能地缓存,也许它会比这少得多。

最重要的是,不要假设HTML元素的数量如此重要,请考虑它所涉及的数据量。我的建议,当你到达那里时,穿过那座桥。监视您的请求时间,如果它们太长,请提出一个AJAX页面加载器,这应该不会太难。

答案 2 :(得分:0)

你的html文档的大小将是可以理解的...... 我曾经有一个包含5000~10000个项目(表格行)的页面,浏览器(IE)渲染时间太长(下载页面,解析并渲染)。

在我看来,最好的解决方案是使用LazyLoading系统设置WebService。

所以恕我直言是的,应该监控HTML文档中的元素数量

答案 3 :(得分:0)

当然可以!可以监控HTML文档中的元素数量。在Firefox中使用FireBug! enter image description here