我的应用程序提供的一个页面非常长(大约8Mb的源HTML,主要是表格)。我知道这本身就是错误架构的标志,但有些情况不允许快速改变:(
在除了IE之外的几乎所有浏览器中,页面仍然很好 - 当然它比普通的浏览器慢,但看起来显示的时间主要是由代码下载速度定义的,我没有遇到任何问题。
虽然在IE(7,8和9)中有很大的不同 - 在使用冻结屏幕效果下载后大约10-15秒的页面非常慢,然后经历明显的滚动滞后和“脚本运行缓慢”消息页面上没有运行javascript。 IE9在显示该页面时也需要大约800Mb的RAM。
当我提供该大小的纯文本内容时,它会好得多,但格式化的HTML表似乎会导致问题。看起来长DOM是任何版本的IE的阻止程序。
我不知道我希望得到什么答案 - 显然一个正确的解决方案是通过在服务器端分解并通过ajax逐个服务来改变页面架构,但是仍然 - 有什么样的说法IE的魔法pragma或js停止使用DOM树加速它做什么?
答案 0 :(得分:2)
这将是客户端浏览页面下载的最佳解决方案。但是你必须被告知"table"
标签是IE中最慢的渲染标签(正如我的经验所说)。因此,在第一步中,我认为您应该对HTML文档进行一些修改。以下是一些建议:
毕竟,永远记住每个字符在内存中存储8个字节(无论它是否为虚拟),包括xml解析器的所有解析变量和内存使用,以及加载HTML字符串的一些硬代码并从中制作一个DOM。读取文档和解析文档的速度与大小一样重要。
希望它对你有所帮助.. 干杯