Itero algunos JSON para obtener URL de imágenes para mostrarlas en una tabla.
El código JavaScript que estoy usando para hacerlo es (genero una tabla y luego completo las celdas en cada fila donde la primera celda de la fila es una imagen y el resto son cadenas):
for (var i = 0; i < data.result.length; i++) { var newRow = document.createElement('tr') newRow.classList.add('table-row') for (var j = 0; j < data.result[i].length; j++) { if (j == 0){ var newCell = document.createElement('img'); newCell.src = data.result[i][j]; console.log(data.result[i][j]) newCell.style.width = 50; newCell.style.height = 50; } else { var newCell = document.createElement('td'); newCell.classList.add('col') newCell.innerHTML = data.result[i][j]; } newRow.appendChild(newCell); } table[0].appendChild(newRow) } Donde data.result[i][j] contiene la URL.
Por ejemplo, en uno de los casos me sale:
newCell.src = 'https://oldschool.runescape.wiki/w/Mithril bar#/media/File:Mithril bar_detail.png'Ahora, cuando hago clic en esa URL, de hecho me muestra una imagen. Sin embargo, cuando uso el código anterior, obtengo una imagen rota:
¿Alguna razón por la que no mostraré la imagen?
Pensé que tal vez se deba a esa vista previa en el sitio web, pero no estoy seguro de cómo lidiar con eso.
Gracias
Creo que la URL no apunta realmente a una imagen.
Si va al enlace y hace clic con el botón derecho en la imagen y "abrir imagen en una pestaña nueva", obtendrá este enlace:
La URL de la imagen que proporcionó no se representa en el DOM. Prueba este en su lugar:
https://oldschool.runescape.wiki/images/b/b5/Mithril_bar_detail.png?c7a7b