Una página web puede no obtener el foco en Internet Explorer 9

Advertencia

Se ha programado la deshabilitación permanente de la aplicación de escritorio retirada y sin soporte de Internet Explorer 11 a través de una actualización de Microsoft Edge en ciertas versiones de Windows 10. Para obtener más información, consulte Preguntas frecuentes sobre la retirada de la aplicación de escritorio de Internet Explorer 11.

En este artículo se proporciona información sobre cómo resolver problemas de páginas web que no pueden centrarse en Internet Explorer 9.

Versión del producto original: Internet Explorer 9
Número de KB original: 2600156

Síntomas

Una página web o un control ActiveX hospedados en una página web pueden dejar de recibir el foco de forma intermitente cuando se ven mediante Internet Explorer 9. Los controles pueden aparecer deshabilitados o el foco puede terminar en la barra de direcciones cuando un usuario hace clic en la página para intentar obtener el foco. Este problema puede afectar a cualquier elemento de la interfaz de usuario de la página que pueda recibir el foco.

Causa

El problema se produce porque la ventana de tabulación se desasocia de la cola de entrada de la ventana de marco. Microsoft ha confirmado que se trata de un problema en Internet Explorer 9 relacionado con el funcionamiento de la característica Resistencia a bloqueos.

Solución

La corrección de este problema está disponible en la actualización acumulativa de Internet Explorer MS11-099 (KB 2618444) o en cualquier actualización acumulativa de Internet Explorer en adelante.

Hay varias maneras de solucionar este problema:

  1. Evite realizar llamadas de bloqueo de larga duración o realizar cualquier trabajo sincrónico en un subproceso de interfaz de usuario que pueda interferir potencialmente con la bomba de mensajes del subproceso.

  2. Cree el siguiente valor de clave del Registro para deshabilitar la característica Resistencia a bloqueos:

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\
    Type: REG_DWORD
    Name: HangRecovery
    Value: 0
    

    La característica Resistencia a bloqueos está habilitada de forma predeterminada en Internet Explorer 9. Al establecer el HangRecovery valor 0 en , se deshabilita esta característica; al 1 establecerla en , se habilita.

  3. Evite llamar a AttachThreadInput u otras API que puedan dar lugar a un cambio en el propietario de la ventana De tabulación, ya que esas API afectan a la cola de entrada del subproceso de pestaña. Un ejemplo de una API que puede terminar cambiando la cola de entrada del subproceso de tabulación es SetWindowLong.