【发布时间】:2012-11-06 20:50:50
【问题描述】:
在我的网页中,我在单击加载更多按钮时调用了一个 webmethod,该 webmethod 从数据库中获取数据并通过加载大量用户控件来创建一个大 HTML,比如说 40-50 个用户控件。然后这个 HTML 在 javascript 中返回,我将这个 html 附加到现有 div 的 innerHTML 中。这个 div 最初有数据,所以当用户点击加载更多按钮时,我会附加更多数据。
现在的问题是,点击几下它就可以正常工作了。但在那之后,随着 DOM 变得越来越大,它变得很慢,所以现在操作成本很高。我查看了 20000 的元素计数。但是当显示大量数据时,我也检查了 facebook 的元素计数。它的计数为 50000。有了这个 50000 计数,facebook 运行良好,没有性能问题。但是我的网站挂着 20000 个元素……不知道问题出在哪里……这真的与元素有关吗?
请帮帮我。
谢谢
迪帕克
【问题讨论】:
-
您是说您的网络浏览器崩溃是因为页面上的元素过多吗?如果是这样,我会说在设计过程中出现了可怕的错误。为什么用户甚至想要在一页上显示这么多信息?
-
你在使用更新面板吗?
-
给我们看一些代码。或者谢天谢地一个链接。根据我的经验,20,000 个 DOM 元素是非常错误的。
-
Facebook 拥有许多非常优秀的工程师,他们多年来一直致力于优化他们的 UI。您不应该期望您的代码以与他们的代码相同的效率运行。所以我想我的意思是在短期内不要咬得比你能咀嚼的多。将您的功能限制在您可以在短期内正常工作的范围内。然后,当您弄清楚如何优化代码时,再考虑添加更多功能。