Foros del Web » Programando para Internet » Javascript »

Problema con clases

Estas en el tema de Problema con clases en el foro de Javascript en Foros del Web. hola gente, alguien tiene idea de por qe el siguiente codigo solo me funciona en mozilla y en los demas navegadores compatibles con DOM (safari, ...
  #1 (permalink)  
Antiguo 08/01/2009, 14:16
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Pregunta Problema con clases

hola gente, alguien tiene idea de por qe el siguiente codigo solo me funciona en mozilla y en los demas navegadores compatibles con DOM (safari, opera, chrome) me ignoran la condicion y me ejecutan la funcion interna?

Código HTML:
if(typeof XMLHttpRequest == "undefined" && window.ActiveXObject){
    function XMLHttpRequest(){
        var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
        for(var i=0; i<arrSignatures.length; i++){
            try{
                var oRequest = new ActiveXObject(arrSignatures[i]);
                return oRequest;
            }
            catch(oError){}
        }
        throw new Error("MSXML is not installed on your system.");
    }
  }

var oRequest = new XMLHttpRequest();
  #2 (permalink)  
Antiguo 08/01/2009, 14:22
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema con clases

bueno bueno, lo acabo de solucionar jejeje, aunqe sigo preguntandome lo mismo
he aqui el cambio que hice:

Código HTML:
if(typeof XMLHttpRequest == "undefined" && window.ActiveXObject){
//pues pense que estos navegadores lo que me estaban haciendo era 'sobrecargar'
//la funcion XMLHttpRequest que ya predefinida y lo que hice fue asignarle otra funcion 
//anonima a la propiedad, pero igual, no deberia ignorar esto al ser falsa la condicion???Oo
   XMLHttpRequest = function(){
        var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
        for(var i=0; i<arrSignatures.length; i++){
            try{
                var oRequest = new ActiveXObject(arrSignatures[i]);
                return oRequest;
            }
            catch(oError){}
        }
        throw new Error("MSXML is not installed on your system.");
    }
  }
  #3 (permalink)  
Antiguo 08/01/2009, 20:33
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Problema con clases

A mi no me sucede lo que mencionás. Igualmente, para optimizar y evitar evaluaciones innecesarias cada vez que instanciás el objeto ajax, te recomiendo que leas esto: http://www.dustindiaz.com/faster-ajax/
  #4 (permalink)  
Antiguo 09/01/2009, 01:16
Avatar de anlhp  
Fecha de Ingreso: agosto-2008
Mensajes: 121
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema con clases

no? hmmm, pues yo sin el cambio ese que hice en Opera, Safari y Chrome siempre me lanzaba el error :s pero weno, igual le echo un vistazo a lo que dices
gracias ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.