2010-11-30 24 views

Respuesta

6

¿Qué no está funcionando? ¿Eso está arrojando un error en FF? ¿Qué hay de

var hasAX = "ActiveXObject" in window;
+0

no, obtengo falso en firefox y chrome de esto. ver http://jsfiddle.net/qXSvQ/2/ –

+4

@twesh ** Debe ** devolver falso en Firefox y Chrome; ni Firefox ni Chrome son compatibles con ActiveX. Está ejecutando código para determinar si Firefox o Chrome son compatibles con ActiveX. Dado que ni FireFox ni Chrome son compatibles con ActiveX, la función debería devolver 'false'. Al probar el código real en FireFox y Chrome, devuelve correctamente 'false'. ¿Hay algo que falta en la respuesta? –

7

A continuación código debería funcionar, está trabajando en IE6 & FF 3.6.12 al menos.

if(typeof(window.ActiveXObject)=="undefined"){ 
    alert("ActiveX Object not supported"); 
}else { 
    alert("ActiveX Object supported"); 
} 
+0

funciona bien en 'IE', pero en firefox no está definido. Lo he comprobado con 'FF 3.6.12' y' FF 4.0b7'. –

+0

@twesh, undefined está bien porque ActiveX no es compatible con FF. Incluso en el código anterior, también lo he comparado con "indefinido". –

+0

por lo tanto, cualquier solución para comprobar si ActiveX está habilitado en el navegador FF? –

23

Los objetos ActiveX no existen en nada excepto Internet Explorer. Si está intentando usarlos para XMLHTTPRequests, use el objeto XMLHTTPRequest() en su lugar, usando detección de características.

if ("ActiveXObject" in window) { /* Do ActiveX Stuff */ } 
else { /* ActiveX doesnt exist, use something else */ } 
+0

Esto funciona bien en IE11 y Chrome, a diferencia de window.ActiveXObject (que siempre devuelve "undefined") – Drkawashima

Cuestiones relacionadas