메뉴 건너뛰기

조회 수 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 셀렉트(select) change 이벤트 (split) 2016.12.23 6014
86 셀렉트(select) change Ajax 이벤트 2016.12.23 12638
85 셀렉트(select) change href 이벤트 2016.12.23 5909
84 팝업창 가운데 띄우기 2016.12.23 6713
83 [INPUT BOX] 텍스트박스(INPUT 박스) 가 동적으로 추가,삭제됩니다 2017.02.19 8542
82 날짜 및 시간 입력 구현하기, Bootstrap DateTimePicker file 2017.04.06 16553
81 새로고침(F5) 금지 2018.03.28 6013
80 Javascript selectbox selected 컨트롤 file 2018.06.21 10065
79 스마트 에디터 (네이버 에디터) 에디터 내에서 이미지 크기 줄이기.(리사이징) file 2018.07.04 2723
78 체크박스(CheckBox) 전체 선택, 전체 해제 checked file 2018.07.04 2935
77 SelectBox에서 선택된 항목의 텍스트, 값 가져오기 선택 옵션 넣기. 2018.07.04 4024
76 반복문 사용할때 태그 식별하기 data-item 2018.07.04 1860
75 스마트에디터(SmartEditor)에서 textarea 유효성 체크하기 2018.07.04 4022
74 다음 우편번호(주소) api 예시 file 2018.07.04 4914
73 cross site scripting을 막기위한...javascript 2018.07.24 1604
72 유용한 스크립트 모음 2018.07.24 2308
71 key pressing 누르거나 클릭중인 이벤트 예제 2018.08.29 1632
70 테이블에서 해당 열의 인덱스 값 얻는 방법 2018.08.29 2805
69 팝업창 차단 "허용 메시지" 2018.09.28 1747
68 엔터키 / enter key submit form 2018.09.28 1540
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved