用drip工具测试并解决ie window.open 带来的内存泄漏
2011-12-27 20:17
399 查看
某一页面每打开一次,内存增长一次。达到一定程度后,页面假死,无法继续打开页面。
打开窗口代码如下。
function openEditor(){
var args=openEditor.arguments;
var MaxModalStyle = "status=1,scrollbars=1,width=" + (screen.width-15) + ",height=" + (screen.height-50) + ",left=0,top=10";
dgEditor=window.open("dd.jsp?kzh="+args[0]+"&nf=2009","",MaxModalStyle);
return false;
}
考虑到和dgEditor对象没有释放代码有关系。代码修改为
var jdeditor = null;
function openEditor(){
var args=openEditor.arguments;
var MaxModalStyle = "status=1,scrollbars=1,width=" + (screen.width-15) + ",height=" + (screen.height-50) + ",left=0,top=10";
if(jdeditor!=null){
try{
jdeditor.close();
}catch(e2){
}
jdeditor = null;
}
jdeditor = window.open("dd.jsp?kzh="+args[0]","",MaxModalStyle);
return false;
}
使用drip 工具检测, 内存增长大大减少。
起作用的是 jeditor.close(); 一句。
下图为drip 工具监测
注释掉 jeditor.close() 打开新窗口并关闭后内存陡增,使用jeditor.close() 后,再打开新窗口关闭,内存平稳。
打开窗口代码如下。
function openEditor(){
var args=openEditor.arguments;
var MaxModalStyle = "status=1,scrollbars=1,width=" + (screen.width-15) + ",height=" + (screen.height-50) + ",left=0,top=10";
dgEditor=window.open("dd.jsp?kzh="+args[0]+"&nf=2009","",MaxModalStyle);
return false;
}
考虑到和dgEditor对象没有释放代码有关系。代码修改为
var jdeditor = null;
function openEditor(){
var args=openEditor.arguments;
var MaxModalStyle = "status=1,scrollbars=1,width=" + (screen.width-15) + ",height=" + (screen.height-50) + ",left=0,top=10";
if(jdeditor!=null){
try{
jdeditor.close();
}catch(e2){
}
jdeditor = null;
}
jdeditor = window.open("dd.jsp?kzh="+args[0]","",MaxModalStyle);
return false;
}
使用drip 工具检测, 内存增长大大减少。
起作用的是 jeditor.close(); 一句。
下图为drip 工具监测
注释掉 jeditor.close() 打开新窗口并关闭后内存陡增,使用jeditor.close() 后,再打开新窗口关闭,内存平稳。
相关文章推荐
- 用drip工具测试并解决ie window.open 带来的内存泄漏
- 解决ie的window.open的referer丢失问题。
- 解决ie的window.open的referer丢失问题。
- 怎样防止IE工具对window.open的拦截
- 解决IE中window.open打开链接refer丢失的问题
- DHTML 怎样防止IE工具对window.open的拦截
- window.open被IE拦截的解决办法
- DHTML 怎样防止IE工具对window.open的拦截
- javascript 解决window.open 被IE弹出窗口阻止程序拦截
- js解决window.open 被IE弹出窗口阻止程序拦截
- DHTML 怎样防止IE工具对window.open的拦截
- 解决window.open 会被IE阻止的问题
- 解决ie的window.open的referer丢失问题。
- [JavaScript] 解决window.open()打开同一个URL没能在两个网页中打开
- 网页开发时测试IE版本的兼容性工具
- 解决window.open浏览器拦截的办法
- window.open关于浏览器拦截问题分析及解决方法
- 非IE MAC平台下window.print出现空白页的解决办法
- IE中用window.open() 新开页面,有时会丢失Session 的问题
- 用httpclient做压力测试时Too many open files的解决办法