我正在创建一个逐步构建的单页(如果启用了Javascript)“blog”,它使用AJAX为用户导航到的新页面请求HTML。
当用户导航到新页面时,他们将在一个小窗口中一个接一个地添加到DOM中,其中包含“overflow:hidden;”:
<div id="foo" style="width:200px; height:100px;">
<div id="bar" style="width:999999px">
</div>
</div>
当AJAX调用返回成功时,div将被附加到#bar。
当#foo宽度以外有很多隐藏页面时,它会如何影响浏览器?
当用户离开时,我是否需要从DOM中删除div?然后,如果用户选择再次导航,我将需要创建一个新的AJAX请求。 :(
由于
威廉
答案 0 :(得分:2)
无论人们说GC会为你做什么,无论是用JavaScript还是用C#还是Java,都要注意并忘记自动管理的愚蠢承诺。明确地清理它并且睡得好。
非常简单的原因:当你离开最简单的场景时(无论是浏览器的JavaScript还是C#/ java),闭包泄漏和泄漏都非常糟糕。
答案 1 :(得分:0)
现代浏览器布局引擎通常足够智能,无法处理隐藏的元素,因此不会消耗太多CPU能力。但是,在某些浏览器中添加大量具有高度复杂对象图的节点可能会很昂贵,所以我要小心这一点。还要注意,即使它们没有布局,它们仍然作为DOM的一部分存在,如果这些节点很大,内存使用可能会成为一个问题。