A maneira mais simples e grosseira é carregar recursos de rede, arquivos JS ou arquivos de imagem.
A cópia do código é a seguinte:
<script src = "// ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script>
typeof window.jQuery === "indefinido" // retorna false ou verdade
Use a variável jQuery para detectar se está conectada à 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_white.png?d=' + escape (date ());O problema com o carregamento de recursos de rede é a detecção da Internet. Se for detecção de LAN, é impotente.
No momento, é necessária uma solução melhor e o Navigator.online é usado. Este atributo é mais complicado. A compatibilidade do navegador é perfeitamente suportada pelo Chrome e Safari, e IE7 ou acima. Firefox e IE6 são complicados. Eles só retornam falsos quando o navegador está "offline" e todos os outros retornam verdadeiros. Todos os cabos de rede são verdadeiros e a Opera não os suporta diretamente.
Portanto, você deve adicionar um método compatível: envie uma solicitação de cabeçalho HTTP para o local.
var xhr = new (window.activexObject || xmlHttPrequest) ("Microsoft.xmlhttp"); var status; xhr.open ("head", "//" + window.location.hostname + "/? Rand =" + math.floor ((1 + math.random ()) tente {xhr.send (); return (xhr.status> = 200 && xhr.status <300 || xhr.status === 304); } catch (error) {return false; }Uma coisa a observar nisso é que o terceiro parâmetro do método aberto deve ser aprovado falso e deve ser uma solicitação síncrona.
Resumo: Para navegadores que suportam o Navigator.online, use o Navigator.online e envie uma solicitação de cabeçalho HTTP se não o suportar.
Artigos originais, por favor, indique a reimpressão: reimpressa do desenvolvimento do front-end