2009-06-01 11 views
7

Cuando llamo a window.open() de JavaScript, me sale el diálogo de error con el mensaje "Línea: xxx Error: No se admite esa interfaz"IE8 - window.open() - "No se admite esa interfaz"

Google me lleva a sitios web que se refieren desde IE4 diciendo que necesito ejecutar regsrvr32 en varias DLL.

¿Existe una solución mejor?

EDIT: código exacto solicitó

<html><head> 
<script type="text/javascript"> 
function windowOpen() { 
    window.open("http://localhost/mysite/mypage.asp", "myWindowName", ""); 
} 
</script></head> 
<body> 
<button onclick="windowOpen();return false;">Hi There</button> 
</body></html> 

Edit2: Las respuestas proporcionadas todo volver a días IE4/Win95. ¿¿Es enserio?? A pesar de eso, deshabilité el desplazamiento suave en IE8 (!!!) y también intenté registrar los controles enumerados en el artículo kb mencionado por Shoban, pero recibí un error al intentar registrar shdocvw.dll (se cargó el módulo "shdocvw.dll" pero no se encontró el DllRegisterServer de punto de entrada. Asegúrese de que "shdocvw.dll" es un archivo DLL o OCX válido y vuelva a intentarlo).

+1

puedo mostrar la línea exacta que le da este error? –

+1

Funciona bien para mí en IE8 (?) – Shoban

Respuesta

4

Bueno, no creo que haya una solución mejor. Buscando "No admite tal interfaz" window.open me da cientos de miles de resultados pointing to the same problem. Todos dicen que el problema es que una entrada de registro estaba dañada, por lo que el problema es local y el mismo código no afectaría a otras máquinas.

0

Compruebe si hay alguna barra de herramientas instalada. Yo tenía el mismo problema y esto produce porque corro violinista http proxy de depuración

+0

Es posible que desee ampliar su respuesta, para referencia futura. ¡Gracias! –

4

En primer lugar, tratar sólo el siguiente y ver si el problema desaparece:

OPCIÓN 1

Paso 1 : Fijar IE

Copiar y pegar el siguiente en la línea de comandos se ejecuta como un administrador, a continuación, pulse:

"%systemroot%\system32\regsvr32.exe" "C:\Program Files\Internet Explorer\ieproxy.dll" 

Si está ejecutando 64 bits de Windows, intente esto:

"%systemroot%\system32\regsvr32.exe" "C:\Program Files> (x86)\Internet Explorer\ieproxy.dll "

OPCIÓN 2

Si lo anterior no funciona, pruebe los siguientes dos pasos.

Paso 1: Vuelva a registrar todos los archivos DLL

Abra un símbolo del sistema como administrador. Escriba el siguiente comando:

FOR /R C:\ %G IN (*.dll) DO "%systemroot%\system32\regsvr32.exe" /s "%G" 

es probable que obtener algunas ventanas de error apareciendo en este punto, simplemente ignorarlos todos y cerrarlas cuando el símbolo del sistema de batido se detiene.

Paso 2: Fijar IE

Copiar y pegar el siguiente en la línea de comandos se ejecuta como un administrador, a continuación, pulse:

"%systemroot%\system32\regsvr32.exe" "C:\Program Files\Internet Explorer\ieproxy.dll" 

Si está ejecutando 64 bits de Windows, intente esto:

"%systemroot%\system32\regsvr32.exe" "C:\Program Files> (x86)\Internet Explorer\ieproxy.dll "

Fuentes:

+0

En este tema hoy, la Opción 1 es una solución muy prometedora. ¡Gracias por compartir a pesar de la edad de esta pregunta! – Maximillian

+0

Opción 1 trabajado. Spot on !!! – user1176058

0

En Win10 x64 con IE11 Esto resolvió mi problema:

regsvr32 "C:\Windows\SysWOW64\ieproxy.dll" 
Cuestiones relacionadas