EN EMISIÓN
Cargando programación...
VER TELEVISIÓN
document.addEventListener('DOMContentLoaded', function() { var XML_URL = 'https://www.saltv.es/EPG/epg-ch1.xml'; var MAX_PROGRAMAS = 20; function parsearFechaXMLTV(str) { if (!str || str.length < 14) return null; var a = str.substring(0, 4); var m = str.substring(4, 6) - 1; var d = str.substring(6, 8); var h = str.substring(8, 10); var min = str.substring(10, 12); var s = str.substring(12, 14); var offsetMatch = str.substring(14).trim().match(/^([+-])(\d{2})(\d{2})$/); if (offsetMatch) { var sign = offsetMatch[1] === '+' ? 1 : -1; var offH = parseInt(offsetMatch[2], 10); var offM = parseInt(offsetMatch[3], 10); var totalOffsetMs = sign * ((offH * 60) + offM) * 60 * 1000; var utcBase = Date.UTC(a, m, d, h, min, s); return new Date(utcBase - totalOffsetMs); } return new Date(a, m, d, h, min, s); } function parsearXML(xmlText) { var parser = new DOMParser(); var xmlDoc = parser.parseFromString(xmlText, "text/xml"); var programmes = xmlDoc.getElementsByTagName("programme"); var container = document.getElementById('sal-epg-container'); if (!container) return; container.innerHTML = ''; var ahora = new Date(); var programasValidos = 0; for (var i = 0; i = MAX_PROGRAMAS) break; var prog = programmes[i]; var titleEl = prog.getElementsByTagName("title")[0] || prog.getElementsByTagName("original_title")[0]; var title = titleEl ? titleEl.textContent : "SIN TÍTULO"; var startAttr = prog.getAttribute("start"); var stopAttr = prog.getAttribute("stop"); var fechaInicio = parsearFechaXMLTV(startAttr); var fechaFin = parsearFechaXMLTV(stopAttr); if (fechaFin && fechaFin < ahora) continue; var horaStr = "--:--"; if (fechaInicio) { var hh = String(fechaInicio.getHours()).padStart(2, '0'); var mm = String(fechaInicio.getMinutes()).padStart(2, '0'); horaStr = hh + ":" + mm; } var item = document.createElement('div'); item.className = 'sal-epg-item'; item.innerHTML = '' + horaStr + '' + '' + title + ''; container.appendChild(item); programasValidos++; } if (programasValidos === 0) { container.innerHTML = 'No hay más emisiones programadas para hoy.'; } } fetch(XML_URL) .then(function(response) { if (!response.ok) throw new Error('Error al cargar EPG'); return response.text(); }) .then(parsearXML) .catch(function() { // Fallback a ruta relativa si la absoluta es bloqueada por CORS fetch('/EPG/epg-ch1.xml') .then(function(r) { return r.text(); }) .then(parsearXML) .catch(function() { var container = document.getElementById('sal-epg-container'); if (container) { container.innerHTML = 'Programación no disponible temporalmente.'; } }); }); });

La delegada territorial de Universidad, Industria, Energía e Innovación, destaca que este encuentro se enmarca dentro de la planificación periódica que la Consejería mantiene con las distribuidoras  

Noticias en vídeo