最も単純で最も粗い方法は、ネットワークリソース、JSファイル、または画像ファイルをロードすることです。
コードコピーは次のとおりです。
<スクリプトsrc = "// ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script>
typeof window.jquery === "未定義" // falseまたはtruthを返します
jquery変数を使用して、インターネットに接続されているかどうかを検出します
function doconnectfunction(){return true;} function donotconnectfunction(){return false;} var i = new image(); i.onerror = doconnectnectfunction; i.src = 'http://su.bdimg.com/static/superplus/logidimg/logidimg/logiedimg/logi ESCAPE(date());ネットワークリソースのロードに関する問題は、インターネットの検出です。 LAN検出の場合、無力です。
現時点では、より良いソリューションが必要であり、Navigator.onlineが使用されます。この属性はより注意が必要です。ブラウザの互換性は、ChromeとSafari、およびIE7以降で完全にサポートされています。 FirefoxとIE6は難しいです。ブラウザが「オフライン」であり、他のすべてがtrueを返す場合にのみfalseを返します。すべてのネットワークケーブルは真であり、オペラは直接サポートしていません。
したがって、互換性のある方法を追加する必要があります。httpヘッダーリクエストを場所に送信します。hostnameアドレス、コードは次のとおりです。
var xhr = new(window.activexobject || xmlhttprequest)( "microsoft.xmlhttp"); var status; xhr.open( "head"、 "//" + window.location.hostname + "/?rand =" + math.floor(1 + math.random() * 0x10000)、false); {xhr.send()を試してください。 return(xhr.status> = 200 && xhr.status <300 || xhr.status === 304); } catch(error){falseを返します。 }これに注意すべきことの1つは、オープンメソッドの3番目のパラメーターをfalseに渡す必要があり、同期リクエストでなければならないことです。
概要:navigator.onlineをサポートするブラウザの場合、navigator.onlineを使用し、サポートしていない場合はHTTPヘッダー要求を送信します。
オリジナルの記事、再版を示してください:フロントエンド開発から再版