Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

161
Visualizações
Tabla completa CSV (a través de JS) que no carga la vista en el navegador hasta la actualización manual

Entonces, realmente no soy un tipo de JS en lo más mínimo, pero básicamente quería representar un CSV como tabla en mi sitio Jekyll; tengo esto trabajando con el siguiente script.

El único problema es que nunca parece cargar la tabla por primera vez, necesito hacer clic en Actualizar en el navegador para que aparezca. ¿Alguien tiene alguna idea de cuál podría ser la causa de esto?

 <script> window.onload = function() { with(new XMLHttpRequest()) { onreadystatechange = cb; open('GET', 'https://raw.githubusercontent.com/clintjb/A350-Tracking/main/flight_data_a350.csv', true); responseType = 'text'; send(); } } function cb() { if (this.readyState === 4) document.getElementById('A350') .innerHTML = tbl(this.responseText); } function tbl(csv) { return csv.split('\n') .map(function(tr, i) { return '<tr><td>' + tr.replace(/,/g,'</td><td>') + '</td></tr>'; }) .join('\n'); } </script> <table border="0" style='font-size:50%' id="A350"></table>

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

No pude recrear el problema en mi máquina. Su código funcionó bien para mí, al menos en Chrome, pero una cosa que podría intentar es usar fetch en lugar de XMLHttpRequest. ambos trabajaron para mi

Eso sería algo como lo siguiente

 <script> fetch('https://raw.githubusercontent.com/clintjb/A350-Tracking/main/flight_data_a350.csv' ).then((response) => { return response.text(); }).then((text) => { document.getElementById('A350').innerHTML = tbl(text); }) function tbl(csv) { return csv.split('\n') .map(function (tr, i) { return '<tr><td>' + tr.replace(/,/g, '</td><td>') + '</td></tr>'; }) .join('\n'); } </script> <table border="0" style='font-size:50%' id="A350"></table>
about 4 years ago · Juan Pablo Isaza Relatório

0

Entonces, todas las soluciones (incluida mi primera propuesta) realmente funcionaron. El problema al final fue en realidad un error extraño en la plantilla utilizada en el sitio de Jekyll.

Si fue directamente a la página, se reprodujo bien, si la actualizó, se reprodujo bien, solo iba a través de los menús, lo que causaría el problema de representación.

Debido a esto, cambié el enfoque y usé acciones de GitHub para enviar el archivo todos los días: con el CSV en el mismo repositorio que (por ejemplo, como en _data/my_file.csv) puede acceder a los datos cuando el sitio se compila como

 {{ site.data.my_csv }}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda