Frameset frame 布局 IE7/8/9 内存泄露
这种布局存在内存泄露,站点使用一会内存就涨上去了,然后整个响应很慢,客户端是Xp IE7/IE8 ,我的页面布局是这样的:
FrameMain.aspx页面
我在Menu.aspx 中用 <a target='main' href='导航内容页面'> 来控制 main frame显示。
但是我发现长时间使用,会引起内存泄露,我参考网上尝试了一些方法 比如我在Menu.aspx页面中调用下面这个方法来清空Frame。
我清空这个Frame,再从新创建一个。但有两个问题
1.内存没有减下去
2.再次清理的时候window.parent.document.getElementById("main")已经获取不到这个新添加进去的frame。
请高手来协助~~
FrameMain.aspx页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<TITLE></TITLE>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<frameset rows="46,*" framespacing="0" frameborder="no" border="0" noResize scrolling="no">
<frame name="banner" src="WebForm_logo.aspx" noResize scrolling="no"/>
<frameset id="frame" cols="7,156,7,*,7" framespacing="0" frameborder="no" border="0" name="frame" noResize scrolling="no">
<frame name="left" id="left" noresize src="leftframe.aspx" scrolling="no">
<frame name="Menu" id="Menu" noresize src="Menu.aspx">
<frame name="border" id="border" scrolling="no" noresize src="middle.aspx">
<frame name="main" id="main" src="<%=MainUrl %>">
<frame name="right" id="right" scrolling="no" noresize src="rightframe.aspx">
</frameset>
</frameset>
</head>
<body>
</body>
</html>我在Menu.aspx 中用 <a target='main' href='导航内容页面'> 来控制 main frame显示。
但是我发现长时间使用,会引起内存泄露,我参考网上尝试了一些方法 比如我在Menu.aspx页面中调用下面这个方法来清空Frame。
function clearFrame(){
var frame = window.parent.document.getElementById("main");
frame.src = 'about:blank';
frame.contentWindow.document.write('');//清空frame的内容
frame.contentWindow.document.clear();
frame.contentWindow.close();//避免frame内存泄漏
frame.parentNode.removeChild(frame);
CollectGarbage();
var newIfm = window.parent.document.createElement('frame');
newIfm.id = 'main';
newIfm.name = 'main';
var c = window.parent.document.getElementById("right");
c.insertBefore(newIfm);
}
我清空这个Frame,再从新创建一个。但有两个问题
1.内存没有减下去
2.再次清理的时候window.parent.document.getElementById("main")已经获取不到这个新添加进去的frame。
请高手来协助~~
...全文
相关推荐
frame边框样式 frameSet样式 frameSet应用
在不同浏览器之间,`frame`和`frameset`的显示和行为可能会有所差异,尤其是在老版本的IE6、Firefox和Google Chrome中。
DIV+CSS实现的框架,仿frameset,支持左侧缩进
为了确保跨浏览器的兼容性,这个框架特别强调了对IE6到IE9的支持。这四个版本的Internet Explorer在历史上存在很多差异,尤其是在处理`CSS`和布局时。
网页跨frameSet框架菜单
例如:```html<frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html"></frameset>```在这样的布局中
举例讲解HTML中iframe和frame的区别
多个iframe和frame的兼容性在处理多个iframe时,大部分现代浏览器(比如IE和Firefox)都能正常显示,但处理多个frame时可能会遇到兼容性问题。
浅析IE10兼容性问题(frameset的cols属性)
IE10可能没有正确地响应`cols`属性的变化,导致页面布局不更新。为了解决这个问题,开发者发现了一个临时的解决方案:通过改变父级文档的宽度来强制IE10重绘页面。


