微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有太多dom节点的Javascript性能问题?

我正在调试一个ajax聊天,只是无休止地用DOM元素填充页面.如果你有3个小时的聊天时间,你最终会知道有多少个DOM节点.

与极端DOM使用相关的问题是什么?

用户界面是否可能完全没有响应(特别是在Internet Explorer中)?

(与此问题相关的当然是解决方案,如果除了手动垃圾收集和删除dom节点之外还有其他任何解决方案.)

解决方法

大多数现代浏览器应该能够很好地处理巨大的DOM树.而“大多数”通常不包括IE.

所以是的,你的浏览器可能会变得没有响应(因为它需要太多的RAM – >交换)或因为它的渲染器只是不堪重负.

标准解决方案是删除元素,比如在页面有10,000行的聊天之后.甚至100’000线也不应该成为一个大问题.但是我开始对比这大得多的数字感到不安(比如数百万行).

[编辑]另一个问题是内存泄漏.即使JS使用垃圾收集,如果你在代码中出错并在全局变量中保留对已删除DOM元素的引用(或者从全局变量引用对象),即使页面本身只包含少量内容,也会耗尽内存千元素.

原文地址:https://www.jb51.cc/html/226443.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐