Detectar si hay intenet

Me gustaría ver si me puedes ayudar, tengo un iframe dentro de una página, en el cual cargo link de internet, cabe mencionar que la página contenedora esta en una intranet, y cuando el usuario no tiene acceso a internet no muestra nada, lo que quiero hacer es una función que me detecte, si me habré el link y si no, que me muestre otra cosas, por ejemplo una imagen. Ojala me puedas ayudar con eso.
Respuesta
1
Para esto que buscas he encontrado este código en www.forosdelweb.com :
<html>
<head>
<script type="text/javascript">
var imgsrc = '';
var img = new Image();
img.onerror = function () {
alert("No hay conexion a internet.");
}
img.onload = function () {
alert("Hay conexion a internet.");
}
img.src = imgsrc;
</script>
<title>Detectar Inet</title>
</head>
<body>
<!-- http://www.forosdelweb.com/f13/detectar-si-esta-conectado-internet-554670/ -->
<img src="logo_plain.png" onerror="this.onerror=null;this.src='sinconexion.jpg' ;">
</body>
</html>
Ya había encontrado ese código, pero no me sirve para el iframe, o más bien no encuentro la manera de aplicarlo, sirve para una imagen.
Es trivial implementarlo en un iframe.
La página principal seria
<html>
<head>
<title>Detectar Inet</title>
</head>
<body>
<!-- http://www.forosdelweb.com/f13/detectar-si-esta-conectado-internet-554670/ -->
Pagina principa <br>
<iframe name="I1" id="I1" src="eliframe.htm">
El explorador no admite los marcos flotantes o no está configurado actualmente para mostrarlos.
</iframe>
</body>
</html>
el iframe.htm seria
<html>
<head>
<script type="text/javascript">
var imgsrc = '';
var img = new Image();
img.onerror = function () {
alert("No hay conexion a internet.");
}
img.onload = function () {
alert("Hay conexion a internet.");
}
img.src = imgsrc;
</script>
<title>Iframe Detectar Inet</title>
</head>
<body>
<!-- http://www.forosdelweb.com/f13/detectar-si-esta-conectado-internet-554670/ -->
El Iframe<br>
<img src="logo_plain.png" onerror="this.onerror=null;this.src='sinconexion.jpg' ;">
</body>
</html>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas