메뉴 건너뛰기

조회 수 111880 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
<HTML>
<HEAD>
<TITLE>link status check</TITLE>
<SCRIPT>
function fetchHTTPStatus (url) {
  if ((location.host == '') || (url.indexOf(location.host) == -1))
    netscape.security.PrivilegeManager.enablePrivilege('UniversalConnect');
  var urlObj = new java.net.URL (url);
  var host = urlObj.getHost();
  var port = (urlObj.getPort() > 0) ? urlObj.getPort() : 80;
  var fileName = urlObj.getFile();
  var sock = new java.net.Socket (host, port);
  dock = new java.io.DataOutputStream(sock.getOutputStream());
  dock.writeBytes('HEAD ' + fileName + ' HTTP/1.0\r\n'); 
  dock.writeBytes('\r\n');
  var dis = new java.io.DataInputStream(sock.getInputStream());
  line = dis.readLine(); // get just status message
  dis.close();
  dock.close();
  sock.close();
  var statusObject = new StatusObject(line);
  return statusObject;
}


function StatusObject (statusLine) {
  var re = /(HTTP\/[\d\.]+) (\d\d\d) ?(.*)$/i;
  var match = re.exec(statusLine);
  this.protocol = match[1];
  this.status = match[2];
  this.message = match[3];
}


function checkURLStatus (url) {
  if (document.getElementById && window.ActiveXObject) {
    var http = new ActiveXObject('Microsoft.XMLHTTP');
    http.open('HEAD', url, false);
    http.send();
    return http.status;
  }
  else if (document.layers && navigator.javaEnabled()) {
    return fetchHTTPStatus(url).status
  }
  else 
    return null;
}


function checkLinks () {
  for (var l = 0; l < document.links.length; l++) {
    window.status = 'checking link ' + l;
    var link = document.links[l];
    var status = checkURLStatus(link.href);
    if (status) {
      if (document.all) {
        if (status == 200)
          link.insertAdjacentHTML('afterEnd', '<SUP><SPAN STYLE="color: green;">' + status + '<\/SPAN></SUP>');
        else
          link.insertAdjacentHTML('afterEnd', '<SUP><SPAN STYLE="color: red;">' + status + '<\/SPAN></SUP>');
      }
      else if (document.layers) {
        link.ol = new Layer(20);
        link.ol.document.open();
        if (status == 200)
          link.ol.document.write('<FONT COLOR="green">' + status + '<\/FONT>');
        else
          link.ol.document.write('<FONT COLOR="red">' + status + '<\/FONT>');
        link.ol.document.close();
        link.onmouseover = showStatus;
        link.onmouseout = hideStatus;
      }
    }
  }
  window.status = '';
}


function showStatus (evt) {
  evt.target.ol.left = evt.pageX;
  evt.target.ol.top = evt.pageY;
  evt.target.ol.visibility = 'show';
}


function hideStatus (evt) {
  evt.target.ol.visibility = 'hide';
}
</SCRIPT>
</HEAD>


<BODY>
<input type=button name=bt value=링크체크하기 onclick=checkLinks()>
<br><br>
  <A HREF="http://www.kibo.com">Kibo</A>
| <A HREF="http://www.kibo.com/god">god</A>
| <A HREF="http://www.faqts.com/js">js</A>
| <A HREF="http://www.faqts.com">faqts</A>
</BODY>
</HTML>

List of Articles
번호 제목 날짜 조회 수
» 유효한 링크인지 확인하는 JAVASCRIPT 2019.01.16 111880
46 금액에 점찍고 한글 표시하기 2019.01.16 1271
45 텍스트박스 입력제한(숫자,영문,한글,특수기호) 2019.01.16 1991
44 span - 동적으로 글자 바꾸기, 보이기 안보이기 2019.01.16 1445
43 풍선도움말 2019.01.16 1167
42 랜덤 배너 노출 스크립트 2019.04.29 11030
41 Alert, Confirm을 모달 팝업으로 만들기 file 2021.03.09 3882
40 Javascript - 이미지 미리보기 회전되어 나옴(EXIF) file 2021.03.09 36260
39 Javascript - 화면 캡처 후 서버에 저장하기(html2canvas 사용법, 주의사항) file 2021.03.09 2163
38 Javascript - 입력한 년, 월의 마지막 날짜 구하기 2021.03.09 224
37 Javascript - Calendar 달력 생성하고 제어하기 2021.03.09 512
36 Javascript - 사업자 등록번호 유효성 체크 file 2021.03.09 1089
35 Javascript - 유효성 체크(이메일 정규식, IP 정규식, 비밀번호 등) 2021.03.09 726
34 javascript - vanillaJS로 체크박스(checkbox) 제어하기 file 2021.03.09 498
33 Javascript - form태그 내부 ajax처리시 2번 전송되는 현상 2021.03.09 268
32 Javascript - Free SVG 한국맵 제어 처리 file 2021.03.09 870
31 Javascript - 입력받은 숫자를 순서대로 홀짝 별로 배열에 삽입하기 2021.03.09 302
30 HTML, Javscript - 선택한 색상으로 배경색 바꾸기(pallet 만들기) file 2021.03.09 710
29 jqgrid 이용한 그리드 활용하기 file 2021.03.25 2322
28 오브젝트 속성 2021.03.25 237
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved