Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2013, 10:25
AdRii
 
Fecha de Ingreso: agosto-2008
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 3
Fallo Javascript sólo con IE

Hola, estoy realizando una página web que hace uso de una API en la que recibo la respuesta en formato XML. Todo funciona correctamente sobre cualquier navegador, excepto cualquier IE, uso este código como vi en Internet para crear el objeto, ya que IE 6 no tiene el objeto de forma nativa.

Código Javascript:
Ver original
  1. if(Main.isIE6()) {
  2.             var XHRObj = new ActiveXObject("MSXML2.XMLHTTP.3.0");
  3.         }
  4.         else {
  5.             var XHRObj = new XMLHttpRequest();
  6.         }

El primer fallo lo conseguí arreglar googleando un poco, y me di cuenta de que necesitaba modificar las opciones de seguridad de IE para poder hacer las llamadas entre dominios diferentes.

Ahora me da un fallo Javascript, en el que dice:

Código Error:
Ver original
  1. El objeto no acepta esta propiedad o método

Usando alert he conseguido ver que el fallo lo da en el siguiente pedazo de código

Código Javascript:
Ver original
  1. var callBack = function(XHRObj) {
  2.                 var xmlResponse = XHRObj.responseXML;
  3.                 var status = xmlResponse.getElementsByTagName("status")[0];
  4.                                                
  5.                 if(status) {
  6.                     /* Status ok or first time */
  7.                     if(getNodeValue(status.firstChild).toString().toLowerCase() == "ok") {
  8.                         if(Main.countryCode != xmlResponse.getElementsByTagName("sCountryCode")[0].firstChild) {
  9.                             Main.countryCode = getNodeValue(xmlResponse.getElementsByTagName("sCountryCode")[0].firstChild);
  10.                         }

En concreto creo que esta en la condición del último if.

No se si es que IE no soporta alguna de las funciones que utilizo, por si es necesario mencionar, que hago uso de Jquery.

Gracias.