No se pueden encontrar ventanas de explorador con nombre cuando Internet Explorer se inicia como una aplicación publicada
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.
Este artículo le ayuda a resolver el problema de que no puede encontrar la ventana del explorador con nombre cuando Internet Explorer se inicia como una aplicación publicada.
Versión del producto original: Internet Explorer 9
Número KB original: 2833316
Síntomas
Imagine la siguiente situación:
El Control de cuentas de usuario (UAC) está desactivado.
Internet Explorer no se inicia desde el entorno del shell de escritorio del usuario (Explorer.exe). Este escenario suele encontrarse cuando Internet Explorer se inicia de una de las siguientes maneras:
- A través de RemoteApp de Terminal Services
- Como la aplicación con nombre en la pestaña Programas de conexión de escritorio remoto (mstsc.exe)
- A través de servicios de sesión remota de terceros, como los proporcionados por Citrix
Se usa una página web que establece mediante programación el nombre de la ventana y, a continuación, se abre una nueva ventana de esta página. En este escenario, se crea una ventana en blanco y la página inicial permanece sin modificar. Sin embargo, espera que se cambie la página inicial.
En el siguiente ejemplo de marcado HTML se muestra este escenario. El script original nombra la ventana. A continuación, cuando se carga la página, el script crea una nueva ventana. El script de la nueva ventana intenta insertar automáticamente la cadena de texto correcta en la página desde la que se creó la nueva ventana mediante el nombre de la ventana original.
main.html
<!DOCTYPE html> <html> <head> <script type="text/javascript"> function initScr() { self.name = "MainWindow" var ret = (window.open("second.html", "_blank")); } </script> </head> <body onload="initScr()"> main window <div id="mydiv"> original content </div> </body> </html>second.html
<!DOCTYPE html> <html> <head> <script type="text/javascript"> function initScr() { var ret = (window.open("", "MainWindow")); var el = ret.document.getElementById("mydiv"); el.innerHTML = "success"; } </script> </head> <body onload="initScr()"> second window </body> </html>
Solución
Solución 1
Para resolver este problema, se recomienda habilitar UAC. Dado que el problema se produce en servidores terminales y porque Internet Explorer se ejecuta como un shell, debe tener UAC habilitado por motivos de seguridad.
Para obtener más información acerca de cuándo UAC debe desactivarse en Windows Server, vea Deshabilitar el control de cuentas de usuario (UAC) en Windows Server.
Solución 2
Para resolver este problema, también puede empezar con una página temporal que abra la primera ventana y, a continuación, cierre la página temporal o minimice. Sin embargo, si cierra la página, es posible que la página temporal no se cierre automáticamente y pueda requerir la intervención del usuario para permitir que se cierre.
En el script de ejemplo que se menciona en la sección Síntomas, haga lo siguiente:
En main.html, comente la línea que contiene self.name y, a continuación, cree una página nueva para abrir la primera ventana original (main.html) y cierre o minimice la nueva página.
temp.html
<!DOCTYPE html> <html> <body> <script language="javascript"> window.open("main.html", "MainWindow"); window.close(); </script> </body> </html>
En lugar de empezar main.html, ahora empieza con la nueva página (temp.html).
Más información
Este problema también puede producirse cuando Internet Explorer se inicia mediante una cuenta de administrador. De forma predeterminada, los miembros del grupo de seguridad administradores locales no se ven afectados por los controles UAC y las restricciones de funcionamiento.