用户报告了一个奇怪的问题,在升级到ie 11之后,jquery.dataTables渲染速度非常慢(20 - 40秒)。大约有400个结果,这似乎是合理的。它在Chrome和FF中非常快速地运行。
经过一些潜水后,事实证明任何对表分拣机的调用都会导致服务器运行缓慢。
我们正在使用1.9.4,尽管尝试升级到1.10也没有显示任何性能改进。
代码非常简单:
$('#results_table').dataTable({
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 0, 1, 12 ] },
{ 'sType': 'currency', 'aTargets': [8] }
],
"aaSorting": [[19, 'asc'], [18, 'asc'], [16, 'desc'], [4, 'desc'], [13, 'desc'], [5, 'desc'], [14, 'desc'], [15, 'desc'], [3, 'asc'], [6, 'desc']]
});
任何关于改进的想法都会受到欢迎。
答案 0 :(得分:2)
这不是一个完全修复,但这是一个很好的解决方法。我切换到构建数据数组并将其附加到dataTables而不是构建dom元素。
示例:
$('#results_table').dataTable({
"aaData":[[attrs], [attrs]], // an array of row data
"aaSorting": [[19, 'asc'], [18, 'asc']],
"aoColumns": [
{ "sClass": "center" },
//... other class definitions
]
});