我正在开发一个包含大表格的Web应用程序页面,其中有12列并且在某些情况下高达300行。我在Internet Explorer中很难使表格快速渲染出来。我在这个测试代码片段中复制了我的困难:http://jsfiddle.net/dSFz5/。以下是在一台配备4GB RAM的Intel Quad Core Q8200上使用IE9进行的一些基准测试结果:
50行,12列:432ms
100行,12列:1023ms
200行,12列:2701ms
400行,12列:8107ms
800行,12列: 24619ms
呈指数级增长。
我设法找到一些代码,可以使Internet Explorer更快地渲染相同的测试表格。但由于我正在使用mustache.js模板来渲染单元格和行(使所有HTML标记都不在JavaScript中),因此无法使用这些DOM方法:http://jsfiddle.net/bgzLG/。以下是基准测试结果:
50行,12列:37ms
100行,12列:72ms
200行,12列:146ms
400行,12列:324ms
800行,12列:566ms
我不能像第二个示例那样逐个构建表格,因为使用客户端模板时需要注入mustache返回的HTML字符串。如果你开始插入.innerHTML,性能会再次下降。有人能推荐一种以与客户端模板的使用兼容的更有效率的方式构建表格吗?分页是解决这个问题的一种方法,但我想解决问题本身。任何建议都将不胜感激!
50行,12列:432ms
100行,12列:1023ms
200行,12列:2701ms
400行,12列:8107ms
800行,12列: 24619ms
呈指数级增长。
我设法找到一些代码,可以使Internet Explorer更快地渲染相同的测试表格。但由于我正在使用mustache.js模板来渲染单元格和行(使所有HTML标记都不在JavaScript中),因此无法使用这些DOM方法:http://jsfiddle.net/bgzLG/。以下是基准测试结果:
50行,12列:37ms
100行,12列:72ms
200行,12列:146ms
400行,12列:324ms
800行,12列:566ms
我不能像第二个示例那样逐个构建表格,因为使用客户端模板时需要注入mustache返回的HTML字符串。如果你开始插入.innerHTML,性能会再次下降。有人能推荐一种以与客户端模板的使用兼容的更有效率的方式构建表格吗?分页是解决这个问题的一种方法,但我想解决问题本身。任何建议都将不胜感激!