가장 간단하고 가장 조잡한 방법은 네트워크 리소스, JS 파일 또는 사진 파일을로드하는 것입니다.
코드 사본은 다음과 같습니다.
<script src = "// ajax.googleapis.com/ajax/libs/jquery/1.10.10.min.js"> </script>
typeof window.jquery === "정의되지 않은"// 거짓 또는 진실을 반환합니다
jQuery 변수를 사용하여 인터넷에 연결되어 있는지 여부를 감지합니다.
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=' + 탈출 (date ());네트워크 리소스로드의 문제는 인터넷 감지입니다. LAN 감지라면 힘이 없습니다.
현재 더 나은 솔루션이 필요하고 Navigator.online이 사용됩니다. 이 속성은 더 까다 롭습니다. 브라우저 호환성은 Chrome 및 Safari, IE7 이상에서 완벽하게 지원됩니다. Firefox와 IE6은 까다 롭습니다. 브라우저가 "오프라인"인 경우에만 False를 반환하고 다른 모든 사람들은 True를 반환합니다. 모든 네트워크 케이블은 사실이며 Opera는 직접 지원하지 않습니다.
호환 방법을 추가해야합니다. HTTP 헤더 요청을 Location.hostName 주소로 보내면 코드는 다음과 같습니다.
var xhr = new (wind {xhr.send (); return (xhr.status> = 200 && xhr.status <300 || xhr.status === 304); } catch (오류) {return false; }이에 주목해야 할 한 가지는 열린 메소드의 세 번째 매개 변수가 False를 전달해야하며 동기 요청이어야한다는 것입니다.
요약 : Navigator.online을 지원하는 브라우저의 경우 Navigator.online을 사용하고 지원하지 않으면 HTTP 헤더 요청을 보내십시오.
원본 기사, 재 인쇄를 표시하십시오 : 프론트 엔드 개발에서 재 인쇄