首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单但长的页面在IE中很慢,在其他地方很快(长的DOM会造成问题吗?)

简单但长的页面在IE中很慢,在其他地方很快(长的DOM会造成问题吗?)
EN

Stack Overflow用户
提问于 2012-10-30 04:55:59
回答 1查看 277关注 0票数 0

我的应用程序提供的其中一个页面非常长(大约8Mb的源HTML,大部分是表格)。我知道这本身就是错误架构的标志,但在某些情况下,不允许那么快地改变:

除了IE之外,几乎所有浏览器的页面都是好的--当然比一般浏览器慢,但看起来显示时间主要是由代码下载速度决定的,我对此没有意见。

这在IE (7,8和9)中有很大的不同-页面在下载后会有10-15秒的极慢的冻结屏幕效果,然后经历明显的滚动滞后和“脚本运行缓慢”消息,而页面上没有运行javascript。当显示该页面时,IE9也需要大约800Mb的内存。

当我提供这种大小的纯文本内容时,效果要好得多,但格式化的HTML表格似乎会造成问题。看起来long DOM是任何版本的IE的拦截器。

我不知道我希望得到什么答案-显然,一个合适的解决方案是改变页面架构,在服务器端将其分解,并通过ajax逐段提供服务,但尽管如此- IE有没有什么神奇的杂注或js来停止使用DOM树加速它的工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-30 05:20:06

这将是最好的解决方案,查克页面下载客户端。但是你需要注意的是,"table"标签是IE中渲染速度最慢的标签(根据我的经验)。因此,在第一步中,我认为您应该对HTML文档进行一些修改。以下是一些建议:

  1. 清除内联样式表,并尽可能使用css类。它可以帮助你的超文本标记语言文档变得更小。
  2. 使用一些其他的表达式来代替表格。使用DIV s将是我的第一个建议。简化您的文档,解析器可以尽可能轻松地读取代码。所以要让它们易于阅读。它导致写得越来越少,它有助于文档更多地smaller.
  3. remove所有的空格,制表符,换行符和许多其他额外的内容,从超文本标记语言document.
  4. Qualify你正在呈现的内容对客户更有用。正如我们现在所看到的,我们最多只能看到两行。所以在一个页面上的所有数据都不是一个好主意,实际上是无用的。因为当用户下载文档时,服务器上的某些数据可能会更新,您的用户拥有的数据将不再有效。

毕竟,一定要记住,每个字符都在内存中存储了8个字节(不管它是不是虚拟的),包括xml解析器使用的所有解析变量和内存,以及加载HTML字符串并从中生成DOM的一些非常困难的代码。读取文档和解析文档的速度与文档的大小一样重要。

希望它能帮助你..干杯

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13129530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档