在html中加载表需要很长时间

时间:2013-11-24 17:34:17

标签: javascript html asp.net performance web

我有一张大桌子,需要花很多时间才能在网上加载。我正在寻找一种解决方案来加快加载时间,我不打算将其拆分成各种页面。有什么建议??这是链接:http://khi.ac.ir/EnglishW/info/Students/All_Students.aspx

3 个答案:

答案 0 :(得分:0)

尝试使用JQuery DataTables服务器端处理来完成此任务。

http://www.datatables.net/release-datatables/examples/data_sources/server_side.html

这是减少加载时间的唯一方法,因为它不是一次加载每个表行,而是一次加载一组行。

答案 1 :(得分:0)

你添加这样的一行:

<td style="width: 20%">
<a id="HyperLink8821120010" style="color:Black;font-family:Tahoma;text-decoration:none;" target="_blank" href="StudentNumber_8821120010.aspx">آهي عاطفه</a>
</td>

每个条目。我建议首先不要为每个表列添加style="color:Black;font-family:Tahoma;text-decoration:none;"并在单独的css文件中使用它,并且还要显示用户的名称和一些javascript,以便向下一个{添加额外信息(如下载链接) {1}}元素如:

td

答案 2 :(得分:0)

对于那些在2019年寻找答案的人来说,这是我尝试过类似问题的一些路径:

使用所有数据创建一个2D数组作为变量;对我来说,它将表的大小从10mb减小到了3mb,并且如果我发现重复的长文本并将其替换为短占位符,则可以将其进一步减小。这样做的好处是可以加快下载速度,但可以减少解释时间。

可以使用简单的字符串粘贴程序或dom .appendChild构建器完成2D数组的重新解释。我发现字符串连接器工作最快。

function createTable(tableData) {
  var firstdiv = document.getElementById("wrapper");
  var i = 0;
  var text = "<table><thead><tr><th>Project</th><th>Planner</th><th>Item</th><th>Comment</th></tr></thead><tbody>";
  var item;
  for (i = 0; i < tableData.length; i++) {
    item = tableData[i];
    text += "<tr><td>" + item[0] + "</td><td>" + item[1] + "</td><td>" + item[2] + "</td><td>" + item[3] + "</td></tr>";
      }
  text += "</tbody></table>"

  firstdiv.innerHTML = text;
}