相关疑难解决方法(0)

垃圾收集如何在JavaScript中运行?

垃圾收集如何在JavaScript中运行?它与.NET垃圾收集类似吗?是因为在VBScript中实现垃圾收集很糟糕,以至于人们避开垃圾收集并建立了对JavaScript作为标准客户端语言的偏好?

javascript vbscript garbage-collection

29
推荐指数
1
解决办法
1万
查看次数

我怎样才能在IE中强制进行Javascript垃圾回收?在AJAX调用和DOM操作之后,IE的行为非常慢

我有一个带有链式下拉菜单的页面.选择一个option从第一个select填充第二个,option从第二个中选择一个select返回一个匹配结果表,使用页面innerHtml上空的函数div.

问题是,一旦我做出选择并且大量数据被带到页面上,页面上的所有后续Javascript运行异常缓慢.好像我通过AJAX拉回来的所有数据div仍然占用了大量内存.我试着null在调用后设置包含AJAX结果的返回对象,innerHtml但没有运气.

当我使用Javascript将大量数据插入DOM时,Firefox,Safari,Chrome和Opera都没有显示性能下降,但在IE中它非常明显.为了测试它是一个Javascript/DOM问题而不是一个普通的旧IE问题,我创建了一个页面版本,它返回初始加载的所有结果,而不是通过AJAX/Javascript,并发现IE没有性能问题.

仅供参考,我正在使用jQuery的jQuery.get方法来执行AJAX调用.

编辑这是我正在做的事情:

<script type="text/javascript">
function onFinalSelection() {
  var searchParameter = jQuery("#second-select").val();
  jQuery.get("pageReturningAjax.php",
  {SEARCH_PARAMETER: searchParameter},
  function(data) {
    jQuery("#result-div").get(0).innerHtml = data;
   //jQuery("#result-div").html(data); //Tried this, same problem
    data = null;
  },
  "html");
}
</script>
Run Code Online (Sandbox Code Playgroud)

我想要指出的是,当返回data非常大时,这只会成为一个问题.它与大小直接相关,因为我能够看到中等大小结果的适度减速,并且当返回几百条记录时只会出现大幅减速.

javascript jquery internet-explorer

9
推荐指数
2
解决办法
3万
查看次数