본문 바로가기
Program

자바스크립트로 만든 RSS리더

본문

자바스크립트로 만든 RSS리더

 

RSS1.0, 2.0 대응
자바스크립터 소스
/********************************************************
*RSS Reader Version 1.0
*Date: 2004/06/21
**********************************************************/

var xmldoc;
/**
*load rssfile
*@param URL : RSS URL
*/
function Load(URL) {
        // Netscape
        if (document.implementation && document.implementation.createDocument) {
                xmldoc = document.implementation.createDocument("", "", null);
                xmldoc.onload = Create;
        }else if (window.ActiveXObject) {         //IE
                xmldoc = new ActiveXObject("Microsoft.XMLDOM");
                xmldoc.onreadystatechange = CheckState;
        }
        xmldoc.load(URL);        
}

/*
*check xmldoc state
*only MSDOM
*/
function CheckState() {
        var state = xmldoc.readyState;
        if (state == 4) {
                //end
                document.write(Create());
        }
}

/*
*parsing rss file
*/
function  Create() {
       
        var channel = xmldoc.getElementsByTagName("channel");
        // get channel title
        var urlTitle = channel[0].childNodes[0].firstChild.nodeValue;
        // get channel URL
        var urlLink = channel[0].childNodes[1].firstChild.nodeValue;
        var html = urlTitle +" "+ urlLink + "<hr size=1 noshade>"
        var x = xmldoc.getElementsByTagName('item');
        for (i=0;i<x.length;i++)  {
                for (j=0;j<x[i].childNodes.length;j++) {
                        if (x[0].childNodes[j].nodeType != 1) continue;                        
                        var nn = x[i].childNodes[j].nodeName;
                        var nv ;
                        if (nn == "title")  {
                                nv = x[i].childNodes[j].firstChild.nodeValue;
                                var title  =  nv;
                        } else if (nn == "link"){
                                nv = x[i].childNodes[j].firstChild.nodeValue;
                                var link = nv;
                        // Support RSS1.0 & RSS2.0
                        } else if (nn == "date" || nn=="pubDate" || nn=="dc:date" ){
                                nv = x[i].childNodes[j].firstChild.nodeValue;                                
                                var date = nv;
                        } else {
                                continue;
                        }
                }
               
                html = html + "・<a href="
                                + link + " target=_blank style=\"padding-top:5px;padding-bottom:5px\">"
                                + title + "</a> <i><font size='1' color='#C2C2C2'>"
                                + date + "</font></i><br>";
        }
        return html+copyRight;
}


아래는 HTML 소스
----------------------------------
<html>
<head>
<title>kantianxia </title>
<script type="text/javascript" src="rssreader.js"></script>
</head>
<body>
<script>
        Load("http://www.kantianxia.com/rss/newsrss1.xml")
</script>
</body>
</html>

[이 게시물은 듀라님에 의해 2015-04-03 10:08:13 워드프레스에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:27:24 Public에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:33:53 팁과강좌에서 이동 됨]
[이 게시물은 최고관리자님에 의해 2017-06-10 14:26:12 JavaScript에서 이동 됨]
0 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

l2j (121.♡.101.20) 작성일07-05-02 13:49 조회1,775회 댓글0건

댓글목록

등록된 댓글이 없습니다.

Program 목록

게시물 검색

사이트 정보

  • 회사명 회사명 / 대표 대표자명
  • 주소 OO도 OO시 OO구 OO동 123-45
  • 사업자 등록번호 123-45-67890
  • 전화 02-123-4567 / 팩스 02-123-4568
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

  • 02-1234-5678
  • abc@abc.com
  • 월-금 am 11:00 - pm 05:00
  • 점심시간 : am 12:00 - pm 01:00
  • 주말&공휴일은 1:1문의하기를 이용하세요.
상단으로