Vacunas administradas en Andalucía a 25 de julio:
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
|
Provincia |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Dosis administradas
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
|
Personas con al menos una dosis |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Personas con pauta completa |
|
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Almería |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
830.445 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 464.753 |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
399.570 |
|
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Cádiz |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 1.455.961 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
811.284 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 700.568 |
|
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Córdoba |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 966.978 |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
532.797 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 468.709 |
|
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Granada |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
1.064.119 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
598.707 |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
512.582 |
|
Huelva |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
591.244 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 337.684 |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
294.587 |
|
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Jaén |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 755.773 |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
424.981 |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
368.229 |
|
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Málaga |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
1.863.563 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 1.035.097 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
890.295 |
|
Sevilla |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
2.226.730 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 1.240.196 |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 1.075.388 |
|
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Total
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Andalucía |
9.754.813
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (100,4% dosis recibidas) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
5.445.499 (64,33% población)
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(73,07% > 12 años) |
4.709.928
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(55,64% población) (63,2% > 12 años) |
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
* La población diana desciende a > 12 años siguiendo criterios del Ministerio de Sanidad.
Hospitalización:
La Consejería de Salud y Familias informa de que, actualmente, 972 pacientes confirmados con COVID-19 permanecen ingresados en los hospitales andaluces, de los que 177 se encuentran en UCI.
Por provincias: en Almería (43 hospitalizaciones, de las que 9 en UCI), Cádiz (109 hospitalizaciones, de las que 12 en UCI), Córdoba (103 hospitalizaciones, de las que 21 en UCI), Granada (101 hospitalizaciones, de las que 25 en UCI), Huelva (43 hospitalizaciones, de las que 4 en UCI), Jaén (56 hospitalizaciones, de las que 12 en UCI), Málaga (379 hospitalizaciones, de las que 62 en UCI) y Sevilla (138 hospitalizaciones, de las que 32 en UCI).
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
|
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Provincia |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Positivos PDIA |
Hospitalización |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); UCI |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Fallecimientos |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Recuperados
|
|
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Almería |
59.765
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+342) |
4.015
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (+6) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
687 (0) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 843
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (0) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
55.463 (+60) |
|
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Cádiz |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
96.468 (+767) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
6.044 (+2) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
669 (0) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
1.512 (0) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 84.660
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+347) |
|
Córdoba |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 63.184
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+327) |
4.854
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+10) |
600
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (0) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 981
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+1) |
56.253
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+166) |
|
Granada |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
98.776 (+396) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
8.577 (0) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 1.121
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(0) |
1.798
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(0) |
91.203
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (+210) |
|
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
Huelva |
37.281
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+323) |
2.473
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+2) |
183
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(0) |
395
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(0) |
33.235
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (+60) |
|
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Jaén |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 55.835
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+346) |
4.847
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+5) |
457
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (+1) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 1.018
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(0) |
51.825
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (+80) |
|
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Málaga |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 128.782
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+1.312) |
9.032
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+49) |
845
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+2) |
1.703
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (0) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
108.450 (+413) |
|
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); Sevilla |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
147.888 (+860) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 11.347
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+3) |
1.134
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(0) |
2.057
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(0) |
135.413
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
(+201) |
|
Total |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
687.979 (+4.673) |
Anuncio Sabores Almería
/* Estilos para hacer el anuncio adaptable */
.anuncio-container {
max-width: 100%;
margin: 0 auto;
text-align: center;
}
.anuncio-enlace {
display: inline-block;
max-width: 100%;
transition: transform 0.3s ease;
}
.anuncio-enlace:hover {
transform: scale(1.02);
}
.anuncio-imagen {
max-width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
51.189 (+77) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 5.696
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (+3) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 10.307
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (+1) |
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); 616.502
Widget de Noticias RSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
body {
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 20px;
}
.news-widget {
width: 100%;
max-width: 800px;
background-color: white;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
overflow: hidden;
border: 1px solid #e1e5e9;
}
.widget-header {
background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
color: white;
padding: 20px;
text-align: center;
position: relative;
}
.widget-header h2 {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 5px;
}
.widget-header p {
opacity: 0.9;
font-size: 0.95rem;
}
.rss-icon {
position: absolute;
top: 20px;
right: 20px;
width: 24px;
height: 24px;
background-color: #ff6600;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 12px;
font-weight: bold;
}
.news-list {
padding: 0;
}
.news-item {
display: flex;
padding: 18px 20px;
border-bottom: 1px solid #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
width: 100%;
}
.news-item:hover {
background-color: #f8fafc;
transform: translateX(5px);
}
.news-item:last-child {
border-bottom: none;
}
.news-number {
display: flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
background-color: #3498db;
color: white;
border-radius: 50%;
font-weight: bold;
margin-right: 15px;
flex-shrink: 0;
}
.news-content {
flex: 1;
width: calc(100% - 45px);
}
.news-title {
font-size: 1.1rem;
font-weight: 600;
color: #2c3e50;
margin-bottom: 5px;
line-height: 1.4;
width: 100%;
word-wrap: break-word;
}
.news-date {
font-size: 0.85rem;
color: #7f8c8d;
width: 100%;
}
.external-link {
color: #3498db;
font-size: 0.9rem;
margin-top: 5px;
display: inline-block;
}
.widget-footer {
padding: 15px 20px;
text-align: center;
background-color: #f8fafc;
border-top: 1px solid #e1e5e9;
color: #7f8c8d;
font-size: 0.9rem;
}
.loading {
padding: 40px 20px;
text-align: center;
color: #7f8c8d;
}
.error {
padding: 40px 20px;
text-align: center;
color: #e74c3c;
background-color: #fdf2f2;
}
@media (max-width: 600px) {
.news-item {
flex-direction: column;
}
.news-number {
margin-bottom: 10px;
}
.widget-header h2 {
font-size: 1.5rem;
}
}
document.addEventListener('DOMContentLoaded', function() {
const rssUrl = 'https://www.noticiasdealmeria.com/rss/ultimasNoticias/';
const newsList = document.getElementById('newsList');
// Datos de ejemplo para mostrar el diseño (en caso de que el RSS no funcione)
const sampleNews = [
{
title: 'El Ayuntamiento anuncia nuevas medidas para mejorar el tráfico en el centro',
link: '#',
date: '12 de noviembre de 2025'
},
{
title: 'Inaugurado el nuevo parque empresarial con más de 50 empresas',
link: '#',
date: '11 de noviembre de 2025'
},
{
title: 'La Universidad presenta su plan de expansión para el próximo año',
link: '#',
date: '10 de noviembre de 2025'
},
{
title: 'Celebración del festival gastronómico con participantes internacionales',
link: '#',
date: '9 de noviembre de 2025'
},
{
title: 'Nuevo proyecto de sostenibilidad para proteger las zonas naturales',
link: '#',
date: '8 de noviembre de 2025'
}
];
// Función para mostrar noticias de ejemplo
function displaySampleNews() {
newsList.innerHTML = '';
sampleNews.forEach((news, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(news.link, '_blank');
newsItem.innerHTML = `
${index + 1}
${news.title}
${news.date}
Leer más ?
`;
newsList.appendChild(newsItem);
});
}
// Función para obtener y parsear el RSS
async function fetchRSS() {
try {
// Usamos un proxy CORS para evitar problemas de same-origin policy
const proxyUrl = 'https://api.allorigins.win/raw?url=';
const response = await fetch(proxyUrl + encodeURIComponent(rssUrl));
if (!response.ok) {
throw new Error('Error al cargar el feed RSS');
}
const text = await response.text();
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(text, 'text/xml');
// Verificar si el parseo fue exitoso
if (xmlDoc.getElementsByTagName('parsererror').length > 0) {
throw new Error('Error al parsear el XML');
}
// Obtener los elementos item del RSS
const items = xmlDoc.getElementsByTagName('item');
// Limpiar el contenido de carga
newsList.innerHTML = '';
// Mostrar las primeras 5 noticias
const maxItems = Math.min(items.length, 5);
if (maxItems === 0) {
newsList.innerHTML = ' No se encontraron noticias en el feed RSS.';
return;
}
for (let i = 0; i < maxItems; i++) {
const item = items[i];
const title = item.getElementsByTagName('title')[0]?.textContent || 'Título no disponible';
const link = item.getElementsByTagName('link')[0]?.textContent || '#';
const pubDate = item.getElementsByTagName('pubDate')[0]?.textContent || '';
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.onclick = () => window.open(link, '_blank');
// Formatear la fecha
let formattedDate = '';
if (pubDate) {
const date = new Date(pubDate);
formattedDate = date.toLocaleDateString('es-ES', {
day: 'numeric',
month: 'long',
year: 'numeric'
});
}
newsItem.innerHTML = `
${i + 1}
${title}
${formattedDate ? ` ${formattedDate}` : ''}
Leer más ?
`;
newsList.appendChild(newsItem);
}
} catch (error) {
console.error('Error:', error);
// En caso de error, mostrar noticias de ejemplo
displaySampleNews();
// Mostrar mensaje de error
const errorMsg = document.createElement('div');
errorMsg.className = 'error';
errorMsg.innerHTML = `
Error al cargar las noticias en tiempo real: ${error.message} Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); }); (+1.537) |
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
IA PDIA por 100.000 habitantes a 14 días en Andalucía: 512.78
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
Actividad de Salud Responde y 061
Error al cargar las noticias en tiempo real: ${error.message}
Se muestran noticias de ejemplo. Intenta recargar la página. `; newsList.insertBefore(errorMsg, newsList.firstChild); } } // Cargar las noticias al iniciar fetchRSS(); // Actualizar cada 10 minutos (opcional) setInterval(fetchRSS, 10 * 60 * 1000); });
La Empresa Pública de Emergencias Sanitarias (EPES) ha registrado desde el 14 de marzo de 2020 hasta el 25 de julio de 2021, 36.724.177 llamadas por todas las líneas, recibiendo 50.039 en el día de ayer. De ellas, los 8 Centros Coordinadores de Urgencias y Emergencias Sanitarias pertenecientes al 061 en Andalucía gestionaron el 20,3% de llamadas, el 76,9% fueron atendidas desde el 955 545 060 de Salud Responde y a través del 900 400 061, habilitado para la atención exclusiva de las consultas sobre coronavirus, se han recibido el 2,8% restante. Esta línea ha registrado desde su puesta en funcionamiento 1.130.259 llamadas.
Las primeras consultas por coronavirus comenzaron a ser solventadas por los centros de la Empresa Pública de Emergencias Sanitarias el pasado 25 de febrero de 2020. Desde esa fecha hasta el 25 de julio de 2021, los centros coordinadores de 061 y Salud Responde han resuelto 393.504 peticiones de asistencia o de información por este motivo. En la jornada de ayer, los operadores de los centros del 061 y Salud Responde resolvieron 623 consultas.
La aplicación móvil de Salud Responde suma 1.281.388 consultas desde el 25 de febrero de 2020 hasta el 25 de julio de 2021, siendo el 45% para la realización de los test rápidos, llevándose a cabo un total de 209 ayer y 576.853 desde su puesta en marcha el 14 de marzo de 2020, con el fin de ayudar a las personas a determinar de forma inicial si necesitan o no asistencia sanitaria y facilitarles la toma de decisión.