Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

207
Vistas
Cargue el archivo xml local de forma asíncrona en el navegador Chrome

Estoy tratando de cargar un archivo xml/xsl local en una variable para editarlo. El siguiente código funciona con IE y Chrome. Pero Chrome da una advertencia ya que esta llamada es síncrona.

 function loadXMLDoc (file name){ If (window.ActiveXObject){ xhttp = new ActiveXObject(“Msxml2.XMLHTTP”); } else { xhttp = new XMLHttpRequest(); } xhttp.open(“GET”,filename, false); // false is synchronous xhttp.send(); var xml = xhttp.responseXML; return xml; }

Pero si hago que esto se asincronice cambiando esta llamada.

 xhttp.open(“GET”,filename, false);

a la verdad

 xhttp.open(“GET”,filename, true);

o llamar por defecto.

 xhttp.open(“GET”,filename);

No funciona en Chrome y da error en la consola.

el código original funciona en IE pero no funciona en Chrome.

Quiero arreglar esta función o escribir un método diferente que pueda cargar un xml/xsl asíncrono local y obtener xml/xsl en una variable en cromo.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si desea cargar XML para el procesamiento XSLT, entonces, para atender a IE, si es necesario, creo que puede configurar xhttp.responseType = 'msxml-document' .

En cuanto al procesamiento asíncrono y la "devolución" del documento, considere las promesas, por ejemplo

 function loadDoc(url) { return new Promise(function(resolve) { var req = new XMLHttpRequest(); req.open("GET", url); if (typeof XSLTProcessor === 'undefined') { try { req.responseType = 'msxml-document'; } catch (e) {} } req.onload = function() { resolve(this.responseXML) } req.send(); }); }

entonces puede hacer, por ejemplo, loadDoc('sample.xml').then(function(doc) { ... }) o para XML y XSLT

 Promise.all([loadDoc(xmlUrl), loadDoc(xslUrl)]).then(function(data) { var xmlDoc = data[0]; var xslDoc = data[1];

Las promesas no se admiten de forma nativa en IE, pero se pueden agregar mediante un polyfill

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda