La forma más simple y cruda es cargar recursos de red, archivos JS o archivos de imagen.
La copia del código es la siguiente:
<script src = "// ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script>
typeof window.jquery === "indefinido" // devuelve falso o verdad
Use la variable jQuery para detectar si está conectado a Internet
function DOCONNECTFUNCTION () {return true;} function donotConnectFunction () {return false;} var i = new image (); i.onload = doconnectFunction; i.onerror = donotconnectFunction; i.src = 'http://su.bdimg.com/static/superplus/img/LogO escapar (fecha ());El problema con la carga de los recursos de la red es la detección de Internet. Si es la detección de LAN, es impotente.
En este momento, se necesita una mejor solución y se utiliza navegator.Online. Este atributo es más complicado. La compatibilidad del navegador es perfectamente compatible con Chrome y Safari, e IE7 o superior. Firefox e IE6 son complicados. Solo devuelven falso cuando el navegador está "fuera de línea" y todos los demás devuelven verdadero. Todos los cables de red son verdaderos, y Opera no los admite directamente.
Por lo tanto, debe agregar un método compatible: enviar una solicitud de encabezado HTTP a la dirección de ubicación. HostName, el código es el siguiente:
var xhr = new (window.activexObject || xmlhttprequest) ("microsoft.xmlhttp"); var status; xhr.open ("head", "//" + window.location.hostName + "/? rand =" + math.floor ((1 + math.random ()) * 0x10000), falso); intente {xhr.send (); return (xhr.status> = 200 && xhr.status <300 || xhr.status === 304); } capt (error) {return false; }Una cosa a tener en cuenta en esto es que el tercer parámetro del método abierto debe pasarse falso, y debe ser una solicitud sincrónica.
Resumen: para los navegadores que admiten navegator.Online, use navigator.online y envíe una solicitud de encabezado HTTP si no lo admite.
Artículos originales, indique la reimpresión: reimpreso del desarrollo front-end