Se produce una pérdida de memoria cuando se abre una página Web que contiene una referencia circular en un iframe

Síntomas

Imagine el siguiente escenario:
  • Ver una página Web que utiliza el método window.open para abrir una segunda página Web en una nueva ventana.
  • La ventana recién abierta contiene un elemento IFRAME que carga una página que tenga referencias circulares.
En este escenario, una pérdida de memoria se produce cada vez que abra la ventana.

Esta pérdida también puede producirse si el iframe carga una página que contiene un control de Telerik RadGrid para ASP.NET. En esta situación, observa que el incremento de Bytes privados por 3 MB para cada operación de window.open . Después de algunos abrir y cerrar las operaciones, se reduce significativamente el rendimiento del sistema.

Para supervisar el rendimiento del sistema, utilice al Monitor de rendimiento (Perfmon.exe). En el Monitor de rendimiento, comprobar los Bytes privados para Internet Explorer.

Nota Si visita la página alojada en el iframe directamente, el problema no se produce.

Información sobre la actualización de seguridad

Para resolver este problema, instale la actualización de seguridad acumulativa más reciente para Internet Explorer. Para instalar las actualizaciones más recientes, visite el siguiente sitio Web de Microsoft:
Para obtener más información técnica acerca de la actualización de seguridad acumulativa más reciente para Internet Explorer, visite el siguiente sitio Web de Microsoft:
Nota: Esta actualización se incluyó primero en la actualización de seguridad 2416400 (MS10-090).
Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
2416400 MS10-090: Actualización de seguridad acumulativa para Internet Explorer

Información del registro

Importante: esta sección, el método o la tarea contiene pasos que indican cómo modificar el registro. Sin embargo, pueden producirse problemas graves si modifica incorrectamente el registro. Por lo tanto, asegúrese de que sigue estos pasos cuidadosamente. Para una mayor protección, haga una copia de seguridad del registro antes de modificarlo. Entonces, puede restaurar el registro si se produce un problema. Para obtener más información acerca de cómo hacer copia de seguridad y restaurar el registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 cómo hacer copia de seguridad y restaurar el registro en Windows
Después de instalar la actualización para Internet Explorer 6 y 7 en el equipo, debe agregar un valor del registro para habilitar la corrección. Para ello, siga estos pasos:
  1. Haga clic en Inicio, haga clic en Ejecutar, escriba regedit y, a continuación, presione ENTRAR.
  2. Busque y, a continuación, haga clic en una de las siguientes subclaves del registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  3. En el menú Edición , seleccione Nuevo y, a continuación, haga clic en Clave.
  4. Escriba FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736y, a continuación, presione ENTRAR.
  5. Haga FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736, seleccione nuevoy, a continuación, haga clic en Valor DWORD.
  6. Escriba Iexplore.exe y, a continuación, presione ENTRAR.
  7. Haga clic en Iexplore.exe y, a continuación, haga clic en Modificar.
  8. En el cuadro Información del valor , escriba 1 y, a continuación, haga clic en Aceptar.
  9. Salga del Editor del Registro.
Nota: Las aplicaciones que alojan el control WebBrowser (WebOC) o MSHTML pueden participar en la revisión agregando la entrada del registro anterior. Reemplace el valor DWORD de "iexplore.exe" en el nombre de la aplicación (< nombre de aplicación > .exe).

El problema no se produce en Internet Explorer 8 o en Internet Explorer 9, sin embargo, con cualquiera de las versiones de Internet Explorer instaladas, si utiliza aplicaciones que alojan el WebBrowser control(WebOC) o MSHTML vaya a la página, a continuación, el problema persiste. Tales aplicaciones pueden participar en la revisión agregando una entrada del registro. Para ello, siga estos pasos:
  1. Haga clic en Inicio, haga clic en Ejecutar, escriba regedit y, a continuación, presione ENTRAR.
  2. Busque y, a continuación, haga clic en una de las siguientes subclaves del registro: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  3. En el menú Edición , seleccione Nuevo y, a continuación, haga clic en Clave.
  4. Escriba FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUPy, a continuación, presione ENTRAR.
  5. Haga FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUP, seleccione nuevoy, a continuación, haga clic en Valor DWORD.
  6. Escriba < nombre de aplicación >.exey, a continuación, presione ENTRAR.
  7. Haga clic en < nombre de aplicación >.exey, a continuación, haga clic en Modificar.
  8. En el cuadro Información del valor , escriba 1 y, a continuación, haga clic en Aceptar.
  9. Salga del Editor del Registro.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Para obtener más información acerca del método window.open , visite el siguiente sitio Web de Microsoft:Para obtener más información acerca del elemento IFRAME, visite el siguiente sitio Web de Microsoft:Para obtener más información acerca de las referencias circulares, visite el siguiente sitio Web de Microsoft
Los productos de terceros que se indican en este artículo están fabricados por compañías independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, respecto al rendimiento o confiabilidad de estos productos.
Propiedades

Id. de artículo: 975736 - Última revisión: 13 ene. 2017 - Revisión: 1

Comentarios