PRÓXIMAMENTE
Cargando programación...
(function() { var XML_URL = 'https://www.saltv.es/EPG/epg-ch1.xml'; var MAX_PROGRAMAS = 20; var container = document.getElementById('sal-epg-container'); var prevBtn = document.getElementById('sal-epg-prev'); var nextBtn = document.getElementById('sal-epg-next'); if (prevBtn && container) { prevBtn.addEventListener('click', function() { container.scrollBy({ left: -300, behavior: 'smooth' }); }); } if (nextBtn && container) { nextBtn.addEventListener('click', function() { container.scrollBy({ left: 300, behavior: 'smooth' }); }); } function parsearFechaXMLTV(str) { if (!str || str.length = 14) ? parseInt(str.substring(12, 14), 10) : 0; 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"); 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 card = document.createElement('div'); card.className = 'sal-epg-card'; card.innerHTML = '' + horaStr + '' + '' + title + ''; container.appendChild(card); programasValidos++; } if (programasValidos === 0) { container.innerHTML = 'No hay más emisiones programadas para hoy.'; } } function mostrarError() { if (container) { container.innerHTML = 'Programación no disponible temporalmente.'; } } fetch(XML_URL) .then(function(r) { if (!r.ok) throw new Error('CORS / HTTP Error'); return r.text(); }) .then(parsearXML) .catch(function() { fetch('/EPG/epg-ch1.xml') .then(function(r) { if (!r.ok) throw new Error('Relative Error'); return r.text(); }) .then(parsearXML) .catch(function() { fetch('https://api.allorigins.win/raw?url=' + encodeURIComponent(XML_URL)) .then(function(r) { return r.text(); }) .then(parsearXML) .catch(mostrarError); }); }); })();

El delegado de Sostenibilidad y el alcalde arcense supervisan las obras que se realizan en una de las infraestructuras dañadas

Noticias en vídeo