메뉴 건너뛰기

조회 수 112480 추천 수 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
번호 제목 날짜 조회 수
87 'setInterval', 타이머를 사용하자! ==setTimeout 2015.02.03 6246
86 'blur', 이미지 클릭시 테두리를 없애자! file 2015.02.03 7375
85 'setTimeout', 타이머를 사용하자! file 2015.02.03 7046
84 'opener', 부모창과 자식창의 텍스트를 교환하자! file 2015.02.03 7320
83 'open', 새창을 열어보자! file 2015.02.03 6051
82 'checkbox', 체크박스 모두체크 그리고 모두해제! file 2015.02.03 7504
81 'button', 클릭한 횟수 알아내기! file 2015.02.03 10788
80 유효성 검사, 모든 폼에 값이 입력되도록 해보자! file 2015.02.03 6129
79 'focus', 엔터 누르고 이동하자! file 2015.02.03 12867
78 5초후 자동으로 창닫기 2015.02.03 9054
77 달력 2015.02.03 6692
76 양력-음력 2015.02.03 7715
75 버튼 삭제 2015.02.03 5964
74 라디오 바스 체크 유무 확인 2015.02.03 6361
73 문자열 바꾸기 2015.02.03 5733
72 마우스로 이미지크기 조절(자바스크립트) 2015.02.03 6546
71 페이지 로드 할때 컨트롤에 포커스 주기 2015.02.03 8507
70 자바스크립트 영문입력, 숫자만입력, 한글만 입력, 붙여넣기 방지 2015.02.02 10193
69 이미지 마우스 드래그로 스크롤을 움직이는 소스 2014.03.17 9368
68 특정부위 마우스 오버시 설명을 보여주는 소스 2014.03.17 8709
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved