limiteinformativo.com · Argentina · measured 8 Oct 2026
As read on 8 Oct 2026, 23,318 bytes. No rule names an AI crawler.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Límite Informativo: Tu fuente de noticias en vivo. La información más relevante de Posadas, Misiones, Argentina y el mundo. Noticias, deportes, política y la radio en directo.">
<meta name="keywords" content="noticias, Posadas, Misiones, Argentina, Límite Informativo, radio en vivo, deportes, política, actualidad, información">
<meta name="author" content="Límite Informativo">
<meta name="robots" content="index, follow">
<meta name="geo.region" content="AR-N">
<meta name="geo.placename" content="Posadas">
<meta name="geo.position" content="-27.367; -55.897">
<meta name="ICBM" content="-27.367, -55.897">
<meta property="og:title" content="Límite Informativo - Noticias de Misiones y el Mundo">
<meta property="og:description" content="Tu fuente de noticias en vivo. La información más relevante de Posadas, Misiones, Argentina y el mundo. Noticias, deportes, política y la radio en directo.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://limiteinformativo.com">
<meta property="og:image" content="https://limiteinformativo.com/icono.png">
<meta property="og:locale" content="es_AR">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@limiteinformativo">
<meta name="twitter:creator" content="@limiteinformativo">
<meta name="twitter:title" content="Límite Informativo - Noticias de Posadas, Misiones y el Mundo">
<meta name="twitter:description" content="Tu fuente de noticias en vivo. La información más relevante de Posadas, Misiones, Argentina y el mundo. Noticias, deportes, política y la radio en directo.">
<meta name="twitter:image" content="/uploads/logoLimiteInformativo.png">
<title>Página no encontrada</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" xintegrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5207694529058458" crossorigin="anonymous"></script>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/es_ES/sdk.js#xfbml=1&version=v23.0&appId=APP_ID"></script>
<link rel="stylesheet" href="/assets/styles/app-MElU8fB.css">
<link rel="stylesheet" href="/assets/icons/all.min-z-L2sjV.css">
<link rel="manifest" href="/manifest.json">
<style>
@keyframes pulse-green {
0% { opacity: 1; }
50% { opacity: 0.5; }
100% { opacity: 1; }
}
.live-pulse {
animation: pulse-green 1.5s infinite;
}
/* Estilo para el banner de notificaciones */
.notification-prompt-banner {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 1050;
max-width: 350px;
transition: all 0.5s ease-in-out;
opacity: 1;
transform: translateY(0);
}
.notification-prompt-banner.hidden {
opacity: 0;
transform: translateY(100px);
display: none !important; /* Solución aplicada aquí */
}
/* Estilo para la animación de éxito */
.notification-success-animation {
background-color: #28a745;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
font-weight: bold;
border-radius: 100%;
width: 80px;
height: 80px;
animation: pop-in 0.3s ease-in-out forwards;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
@keyframes pop-in {
0% { transform: translate(-50%, -50%) scale(0); opacity: 0; }
100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
</style>
</head>
<body class="bg-light">
<div class="top-bar bg-black text-white py-1 d-none d-lg-block shadow-sm">
<div class="container d-flex justify-content-between align-items-center">
<span class="fw-bold">
<i class="fas fa-calendar-alt me-1" style="color: gray"></i>
Jueves 08 de Octubre de 2026
</span>
<div>
<a href="/login" class="text-white mx-2">Iniciar Sesión</a>
</div>
<div>
<a href="" class="text-white mx-2" target="_blank" ><i class="fab fa-facebook-f"></i></a>
<a href="" class="text-white mx-2" target="_blank" ><i class="fab fa-x-twitter "></i></a>
<a href="" class="text-white mx-2" target="_blank" ><i class="fab fa-instagram"></i></a>
</div>
</div>
</div>
<header class="bg-primary-custom text-white py-3 shadow-sm">
<div class="container d-flex flex-wrap justify-content-between align-items-center">
<a href="/" class="navbar-brand mb-2 mb-md-0 d-flex align-items-center">
<img src="/uploads/logoLimiteInformativoW.png" alt="Logo Límite Informativo" style="height: 50px;">
</a>
<div class="d-flex flex-column flex-md-row align-items-center flex-grow-1 justify-content-end">
<div class="d-flex align-items-center mb-2 mb-md-0 me-md-5">
<p class="mb-0 me-3">Radio en Vivo</p>
<div id="radio-container" class="d-flex align-items-center">
<audio id="audio-player" preload="none"></audio>
<button id="play-pause-button" class="btn btn-outline-primary-custom btn-sm me-2 text-white">
<i class="fas fa-play"></i>
</button>
<span id="live-indicator" class="text-success small">
<i id="live-icon" class="fas fa-rss me-1"></i>En vivo
</span>
<span id="error-message" class="text-danger small d-none"></span>
</div>
</div>
<form action="/busqueda" method="GET" class="d-flex flex-grow-1 flex-md-grow-0">
<input type="search" name="q" class="form-control me-2" placeholder="Buscar..." aria-label="Search">
<button class="btn btn-outline-primary-custom text-white" type="submit">Buscar</button>
</form>
</div>
</div>
</header>
<nav class="navbar navbar-expand-lg shadow-sm">
<div class="container">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav w-100">
<li class="nav-item">
<a class="nav-link active" href="/contacto">Contáctenos</a>
</li>
</ul>
</div>
</div>
</nav>
<main class="container my-4">
<div class="row">
<div class="col-lg-8">
<div class="error-container text-center">
<h1 class="error-code">404</h1>
<p class="error-message">Ups... La página que buscas no existe.</p>
<a href="/" class="btn btn-primary">Volver al inicio</a>
</div>
<style>
.error-container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 80vh;
}
.error-code {
font-size: 8rem;
font-weight: bold;
color: #0e1e57;
animation: bounce 1.5s infinite;
}
.error-message {
font-size: 1.5rem;
margin-bottom: 20px;
animation: fadeIn 2s ease-in-out;
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
</style>
</div>
<div class="col-lg-4">
<div class="col">
<div class="d-grid gap-4">
<img src="https://limiteinformativo.com/media/cache/sidebar_ad_image/uploads/Argentina-1-300x188.png" class="img-fluid rounded shadow-sm" alt="Somos Argentinos">
</div>
</div>
<div class="col">
<div class="d-grid gap-4 mt-1 mb-1">
<a href="https://streaminglocucionar.com/radio/apostoles991"><img src="https://limiteinformativo.com/media/cache/sidebar_ad_image/uploads/appDownload.png" class="img-fluid rounded shadow-sm" alt="Descargá nuestra app"></a>
</div>
</div>
<div class="col">
<div class="d-grid gap-4">
<img src="https://limiteinformativo.com/media/cache/sidebar_ad_image/uploads/ligroupo-1-1758588164.jpg" alt="Logo LIGroup">
</div>
</div>
<div class="col">
<h2 class="section-title">Anuncios</h2>
<div class="d-grid gap-4">
</div>
</div>
<div id="fb-root"></div>
<div class="fb-page" data-href="https://www.facebook.com/limiteinformativo" data-tabs="timeline" data-width="" data-height="1200" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"><blockquote cite="https://www.facebook.com/limiteinformativo" class="fb-xfbml-parse-ignore"><a href="https://www.facebook.com/limiteinformativo">Limite Informativo</a></blockquote></div>
</div>
</div>
</main>
<div id="notification-prompt" class="notification-prompt-banner alert alert-info d-flex align-items-center justify-content-between p-3 rounded-xl shadow-md mb-4" style="display: none;">
<div class="d-flex align-items-center">
<i class="fas fa-bell me-3 text-2xl text-info"></i>
<p class="mb-0">¿Quieres recibir notificaciones de noticias nuevas?</p>
</div>
<div>
<button id="subscribe-button" class="btn btn-primary-custom btn-sm me-2">Sí, activar</button>
<button id="dismiss-button" class="btn btn-outline-secondary btn-sm" aria-label="Descartar">No, gracias</button>
</div>
</div>
<footer class="bg-dark text-white py-5 mt-5">
<div class="container">
<div class="row">
<div class="col-md-4 mb-4">
<h5 class="fw-bold text-white mb-3">Contacto</h5>
<ul class="list-unstyled text-white-50 small">
<li class="mb-2">
<i class="fas fa-envelope me-2"></i>
<a href="/contacto" class="text-white-50 text-decoration-none">
Envíanos tu mensaje desde aquí
</a>
</li>
</ul>
</div>
<div class="col-md-4 mb-4 text-md-center">
<h5 class="fw-bold text-white mb-3">Síguenos</h5>
<ul class="list-unstyled d-flex justify-content-center">
</ul>
<div>
</div>
</div>
<div class="col-md-4 mb-4 text-md-end">
<img src="/uploads/logoLimiteInformativoW.png" alt="Logo Límite Informativo" style="height: 60px;">
<p class="text-white-50 small mt-3">
© 2026 Diario Límite Informativo. Todos los derechos reservados.
</p>
</div>
</div>
<div class="row">
<div class="col-12 text-center small">
<p class="mb-0 text-white-50">
</p>
</div>
</div>
<hr class="border-secondary">
<div class="row">
<div class="col-12 text-center small">
<p class="mb-0 text-white-50">
Desarrollado por <a href="https://www.shophardware.com.ar" target="_blank" class="text-white text-decoration-none">Shop Hardware</a>
</p>
</div>
</div>
</div>
</footer>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" xintegrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
// Lógica del reproductor de radio
const audioPlayer = document.getElementById('audio-player');
const playPauseButton = document.getElementById('play-pause-button');
const liveIndicator = document.getElementById('live-indicator');
const liveIcon = document.getElementById('live-icon');
const errorMessage = document.getElementById('error-message');
const radioStreamUrl = 'https://streaming3.locucionar.com/proxy/apostoles991?mp=%2Fstream';
if (audioPlayer.canPlayType('audio/aac') || audioPlayer.canPlayType('audio/aacp')) {
audioPlayer.src = radioStreamUrl;
audioPlayer.addEventListener('error', (e) => {
console.error('Error nativo del reproductor, intentando con HLS.js...', e);
initializeHls();
});
} else {
initializeHls();
}
function initializeHls() {
if (Hls.isSupported()) {
const hls = new Hls();
hls.attachMedia(audioPlayer);
hls.loadSource(radioStreamUrl);
hls.on(Hls.Events.MANIFEST_PARSED, function() {
playPauseButton.disabled = false;
errorMessage.classList.add('d-none');
});
hls.on(Hls.Events.ERROR, function (event, data) {
if (data.fatal) {
errorMessage.textContent = 'Error: No se pudo cargar el stream.';
errorMessage.classList.remove('d-none');
liveIcon.classList.remove('live-pulse');
console.error('Hls.js error:', data.details, data.url, data.reason);
playPauseButton.innerHTML = '<i class="fas fa-play"></i>';
playPauseButton.disabled = false;
}
});
} else {
errorMessage.textContent = 'Navegador no compatible.';
errorMessage.classList.remove('d-none');
liveIcon.classList.remove('live-pulse');
playPauseButton.disabled = true;
}
}
let isPlaying = false;
playPauseButton.addEventListener('click', () => {
if (isPlaying) {
audioPlayer.pause();
} else {
audioPlayer.play().catch(error => {
console.error('Error al intentar reproducir:', error);
errorMessage.textContent = 'Error: se requiere interacción del usuario.';
errorMessage.classList.add('d-none');
});
}
});
audioPlayer.addEventListener('playing', () => {
playPauseButton.innerHTML = '<i class="fas fa-pause"></i>';
liveIcon.classList.add('live-pulse');
errorMessage.classList.add('d-none');
isPlaying = true;
});
audioPlayer.addEventListener('pause', () => {
playPauseButton.innerHTML = '<i class="fas fa-play"></i>';
liveIcon.classList.remove('live-pulse');
isPlaying = false;
});
audioPlayer.addEventListener('waiting', () => {
liveIcon.classList.remove('live-pulse');
});
// --- Lógica de Notificaciones Push (corregida) ---
const notificationPrompt = document.getElementById('notification-prompt');
const subscribeButton = document.getElementById('subscribe-button');
const dismissButton = document.getElementById('dismiss-button');
const VAPID_PUBLIC_KEY = 'BMYVxtBBzcRDLmkycVWZe2fINnxfUvt7-pf2EPkjpH2EvIpPcY9hnyNWQfU3IcL_QEC4VZDaoMdg-UxLgw_7QpU';
const DISMISS_FLAG = 'notification_dismissed';
// Nueva función para convertir la clave Base64 a Uint8Array
function urlBase64ToUint8Array(base64String) {
const padding = '='.repeat((4 - base64String.length % 4) % 4);
const base64 = (base64String + padding)
.replace(/\-/g, '+')
.replace(/_/g, '/');
const rawData = window.atob(base64);
const outputArray = new Uint8Array(rawData.length);
for (let i = 0; i < rawData.length; ++i) {
outputArray[i] = rawData.charCodeAt(i);
}
return outputArray;
}
async function setupPushNotifications() {
if (!('serviceWorker' in navigator && 'PushManager' in window)) {
console.warn('Este navegador no soporta notificaciones push.');
notificationPrompt.classList.add('hidden');
return;
}
if (localStorage.getItem(DISMISS_FLAG) === 'true') {
console.log('Notificaciones ya descartadas o concedidas. Ocultando banner.');
notificationPrompt.classList.add('hidden');
return;
}
try {
const registration = await navigator.serviceWorker.register('/service-worker.js');
console.log('Service Worker registrado con éxito:', registration);
const permissionStatus = Notification.permission;
if (permissionStatus === 'default') {
notificationPrompt.classList.remove('hidden');
} else {
notificationPrompt.classList.add('hidden');
}
subscribeButton.addEventListener('click', async () => {
try {
const permission = await Notification.requestPermission();
if (permission === 'granted') {
// Aquí se convierte la clave VAPID correctamente
const applicationServerKey = urlBase64ToUint8Array(VAPID_PUBLIC_KEY);
if (!applicationServerKey) {
console.error("No se pudo convertir la clave VAPID.");
return;
}
const pushSubscription = await registration.pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: applicationServerKey,
});
console.log('Objeto de suscripción:', pushSubscription);
const response = await fetch('/api/subscribe', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(pushSubscription),
});
if (!response.ok) {
throw new Error(`Error en el servidor: ${response.status} ${response.statusText}`);
}
// Animación de éxito
notificationPrompt.innerHTML = '<div class="notification-success-animation"><i class="fas fa-check"></i></div>';
setTimeout(() => {
notificationPrompt.classList.add('hidden');
localStorage.setItem(DISMISS_FLAG, 'true');
}, 1000);
console.log('Suscripción a notificaciones exitosa.');
} else {
console.log('Permiso de notificaciones denegado. Ocultando banner.');
notificationPrompt.classList.add('hidden');
localStorage.setItem(DISMISS_FLAG, 'true');
}
} catch (error) {
console.error('Error al suscribir al usuario:', error);
notificationPrompt.classList.add('hidden');
localStorage.setItem(DISMISS_FLAG, 'true');
}
});
dismissButton.addEventListener('click', () => {
notificationPrompt.classList.add('hidden');
localStorage.setItem(DISMISS_FLAG, 'true');
console.log('Banner de notificaciones descartado.');
});
} catch (error) {
console.error('Error al registrar el Service Worker:', error);
notificationPrompt.classList.add('hidden');
}
}
setupPushNotifications();
});
</script>
</body>
</html>Changes recorded since June 2026.
No change recorded.