Los complementos que interceptan el mensaje WM_CLOSE pueden producir errores en las versiones posteriores de Internet Explorer 9

Importante

La aplicación de escritorio Internet Explorer 11 está retirada y sin soporte a partir del 15 de junio de 2022 para determinadas versiones de Windows 10.

Todavía puede acceder a sitios antiguos heredados que requieren Internet Explorer con el modo Internet Explorer en Microsoft Edge. Obtenga más información.

La aplicación de escritorio Internet Explorer 11 se redirigirá progresivamente al explorador Microsoft Edge, más rápido y seguro. En última instancia, se deshabilitará a través de Windows Update. Deshabilite IE hoy.

En este artículo se proporciona información sobre cómo resolver el problema de que una pestaña o ventana del explorador no se puede impedir que el mensaje interceptado por algunos complementos de Internet Explorer 9 o una versión posterior se WM_CLOSE cierre.

Versión del producto original:   Internet Explorer 9 y versiones posteriores
Número KB original:   2587178

Síntomas

Algunos complementos para Internet Explorer intentan impedir que se cierre una pestaña o ventana del explorador interceptando el mensaje antes de WM_CLOSE que la pestaña lo reciba. En Internet Explorer 9 o una versión posterior, es posible que esta acción no impida el cierre de la pestaña.

Causa

Internet Explorer 9 o una versión posterior, como Internet Explorer 8, aísla las pestañas a sus propios procesos. Cuando se cierra una pestaña en Internet Explorer 8, el proceso de tabulación subyacente primero debe cerrarse antes de que la pestaña desaparezca visualmente. Para que Internet Explorer 9 o una versión posterior sea más dinámica para el usuario, el explorador ahora ocultará una pestaña en cuanto el usuario la cierre. Internet Explorer 9 o una versión posterior controlará gran parte de la mecánica de cerrar una pestaña o ventana mientras la pestaña es invisible.

Solución

Interceptar o enlazar el mensaje no es un método compatible para impedir que se cierre una WM_CLOSE pestaña en Internet Explorer.

Sin embargo, es posible que el autor del complemento o de las páginas web pueda realizar cambios que permitan que este método funcione en Internet Explorer 9 o en una versión posterior. Este nuevo comportamiento de cierre de pestaña no se usará si window.onbeforeunload el evento tiene controladores registrados. El siguiente código es un ejemplo de este enfoque, ya que puede implementarse en el script de la página:

function myHandler()
{
 // do nothing
}
window.onbeforeunload = myHandler;

Más información

Para obtener más información acerca de Internet Explorer, vea la ayuda de Internet Explorer.