我有一个页面,我们使用 Kendo UI 模板生成一堆 HTML 以插入 DOM。我们说的是 2+ 百万字节。所有其他浏览器将在大约 2 到 3 秒左右显示此内容。我已经避免使用 jQuery 并通过 document.getByElementId 调用设置 innerHTML。看起来最慢的部分是 IE 进行的 regexp.test 调用。IE 是否在确认所有开始/结束标签都匹配?如果是这样,有没有办法告诉 IE 跳过此检查以加快速度(即“相信我”)?我已经将所需的 HTML 减少到尽可能小,所以这实际上不再是一种选择。此外,我展示的数据甚至还不是最大的数据集,所以我知道它会变得更大。有没有人有任何想法?
更新:
这是我正在使用的当前代码:
var resultHtml = kendo.template(templateHtml, { useWithBlock: false })(currentPage.ViewModel);
resultHtml = resultHtml.replace(new RegExp("\>[\n\t ]+\<", "g"), "><"); // Get rid of whitespace
document.getElementById("tblData").innerHTML = resultHtml;
在 IE 中,这最终需要大约 10 秒才能显示,并生成 250 万个字符。在 Chrome/FireFox/Opera 中,这大约需要 2 到 3 秒。