【发布时间】:2011-05-06 11:10:53
【问题描述】:
我正在测试我的代码,它适用于 Firefox 中的动态表。我使用的表大约 1000 行长,是通过模板引擎从 JSON 格式的搜索结果中生成的。
生成的字符串类似于<table><thead>...,然后我将表格放入一个占位符元素中,如下所示:$('#holder').html(str)。
第一个搜索得到快速渲染,而后面的搜索非常慢。而且似乎大部分时间都需要清除占位符。
也就是说,如果我在放置新表之前放置了$('#holder').html("") 或$('#holder').empty(),那么这种清除需要很长时间,并且新表本身的渲染速度也一样快。
说到数字,渲染只需要 90 毫秒,而清除需要 16 秒。
我写了这个 jsfiddle:http://jsfiddle.net/cJGR3/2/
如果您随后按“测试我”,您会注意到清除将花费大部分时间。
我该如何解决这个问题?
【问题讨论】:
-
这是 Firefox 4 吗?我刚刚在 4.0.1 中运行了那个小提琴,一切似乎都运行良好?
-
也在 3.6.17 中清除大约 76 毫秒。你有打开萤火虫吗?
-
Firebug 是导致极其缓慢(16 秒)的原因。
-
听起来你应该向 Firebug 报告一个关于他们的内容删除处理程序超慢的错误......
标签: performance firefox html-table rendering