当您打开一个网页,包含 iframe 中的循环引用时,将发生内存泄漏

症状

请考虑以下情形:

  • 查看使用window.open方法以在新窗口中打开第二个 Web 页面的网页。

  • 新打开的窗口中包含 IFRAME 元素,加载具有循环引用的网页。

在此方案中,内存泄漏发生每次您打开该窗口。

如果 iframe 加载包含 Telerik RadGrid 控件的 ASP.NET 页,则也可能发生此泄漏。在这种情况下,请注意,每次window.open操作 3 mb专用字节数增加。一些打开和关闭操作后,系统性能会显著降低。

若要监视系统性能,请使用性能监视器 (Perfmon.exe)。在性能监视器中,检查 Internet Explorer专用字节数

注意是否您浏览到该页直接承载 iframe 中则不会发生此问题。

安全更新信息

若要解决此问题,请安装最新的 Internet Explorer 累积安全更新。若要安装最新的更新,请访问下面的 Microsoft 网站︰

http://update.microsoft.com有关最新 Internet Explorer 累积安全更新的详细技术信息,请访问下面的 Microsoft 网站︰

http://www.microsoft.com/technet/security/current.aspx
注意:此更新最初包含在安全更新 2416400 (MS10-090)。
有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2416400MS10-090: Internet Explorer 累积安全更新

注册表信息

重要:此部分、 方法或任务包含一些介绍如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重的问题。因此,请确保仔细按照下列步骤操作。为增加保护,对其进行修改之前备份注册表。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

322756如何备份和还原在 Windows 注册表在计算机上安装的 Internet Explorer 6 和 7 的更新后,您必须添加一个注册表值以启用此修补程序。若要执行此操作,请执行以下步骤:

  1. 单击开始,单击运行,输入regedit,,然后按 enter 键。

  2. 找到并单击以下注册表子项之一︰

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl

  3. 编辑菜单上,指向新建,然后单击

  4. 键入FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736,,然后按 enter 键。

  5. 右键单击FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736,指向新建,然后单击DWORD 值

  6. 键入Iexplore.exe,,然后按 enter 键。

  7. Iexplore.exe,用鼠标右键单击,然后单击修改

  8. 数值数据框中,键入1,然后单击确定

  9. 退出注册表编辑器。

注意:承载 MSHTML 的web 浏览器控件 (WebOC) 的应用程序可以选择使用此修复程序通过添加上面的注册表项。替换为应用程序的名称从"iexplore.exe"的 DWORD 值 (< 应用程序名 >.exe)。

未出现问题在 Internet Explorer 8 或 Internet Explorer 9,但是,与每一个 Internet Explorer 版本安装,如果您使用的应用程序的承载 MSHTML 的 web 浏览器 control(WebOC) 浏览到该页,然后仍出现该问题。此类应用程序可以选择使用此修复程序通过添加注册表项。若要执行此操作,请执行以下步骤:

  1. 单击开始,单击运行,输入regedit,,然后按 enter 键。

  2. 找到并单击以下注册表子项之一︰ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl

  3. 编辑菜单上,指向新建,然后单击

  4. 键入FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUP,,然后按 enter 键。

  5. 右键单击FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUP,指向新建,然后单击DWORD 值

  6. 键入< 应用程序名 >.exe,然后按 enter 键。

  7. 右键单击< 应用程序名 >.exe,然后再单击修改

  8. 数值数据框中,键入1,然后单击确定

  9. 退出注册表编辑器。

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

详细信息

关于window.open方法的详细信息,请访问下面的 Microsoft 网站︰

http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx关于 IFRAME 元素的详细信息,请访问下面的 Microsoft 网站︰

http://msdn.microsoft.com/en-us/library/ms535258(VS.85).aspx有关循环引用的详细信息,请访问下面的 Microsoft 网站

http://msdn.microsoft.com/en-us/library/bb250448(VS.85).aspx
本文讨论的第三方产品是由与 Microsoft 无关的公司生产的。Microsoft 不做这些产品的任何担保、默示或其他有关的性能或可靠性。

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×