자바 스크립트에서 RSS 리더 앱을 만드는 방법
RSS (Really Simple Syndication) 온라인 게시자가 사용하는 표준 형식입니다. 그들의 내용을 신디케이트하다 다른 웹 사이트 및 서비스로 안 RSS 문서, 일컬어 a 먹이, 이다 XML 문서 게시자가 배포하려는 콘텐츠 보유.
거의 모든 온라인 뉴스 웹 사이트 및 블로그에서 RSS 피드를 사용하여 독자들에게 내용을 최신으로 유지한다.. 그들은 또한에 발견 될 수있다. 텍스트 기반이 아닌 웹 사이트 YouTube 채널 피드를 사용할 수있는 YouTube와 같은 최신 동영상 정보.
이러한 피드에 액세스하고 내용을 읽고 표시하는 프로그램을 호출합니다. RSS 리더. 자바 스크립트로 간단한 RSS 리더 프로그램을 만들 수 있습니다. 이 자습서에서는.
RSS 피드의 구조
RSS 피드 루트 요소가있다. 전화 한
, 그와 비슷한 태그가 HTML 문서에 있습니다. 내부
태그에는
요소, 같은 종류 HTML로 많은 하위 요소를 포함합니다. 웹 사이트의 배포 된 내용이 들어 있습니다..
일반적으로 피드에는 기본 정보 웹 사이트 및 웹 사이트의 제목, URL 및 설명과 같은 개별 업데이트 된 게시물, 기사 또는 기타 내용 해당 웹 사이트의 이 정보는
, , 과
요소들.
이 태그가 내부에 직접 존재한다.
, 그들은 웹 사이트의 제목, URL 및 설명을 보유합니다. 그들이 언제 현재 안에
그 업데이트 된 소식에 대한 정보를 보유하고 있습니다., 이전과 동일한 정보를 나타내지 만 개별 콘텐츠의 정보는 각각
말하다.
또한 몇 가지가있다. 선택 요소 RSS 피드에 포함되어있어 배포 된 콘텐츠의 이미지 또는 저작권과 같은 보충 정보를 제공합니다. 당신은 이것에 대해 배울 수 있습니다. RSS 2.0 사양 cyber.harvard.edu에서.
다음은 웹 사이트의 RSS 피드 다음과 같이 보일 수 있습니다.
홍 키아 트 https://www.hongkiat.com/디자인 팁, 튜토리얼 및 영감 en-us CSS 통계가있는 모든 CSS 스타일 시트 시각화 스타일 시트에 얼마나 많은 CSS 규칙이 있는지 궁금한가요? 아니면보고 싶었던가 ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - 최신 알렉사 구동 스마트 장치 아마존은 디지털 보조 장치가 내장 된 스마트 홈 시스템 개념을 모르는 사람이 아닙니다. 결국, ... 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
피드 가져 오기
우리는 피드 가져 오기 우리의 RSS 독자 신청으로. 웹 사이트에서 RSS 피드의 URL은 내부에서 발견 태그를 사용하여
애플리케이션 / rss + xml
유형. 예를 들어 Hongkiat.com에서 다음 RSS 피드 링크를 찾을 수 있습니다..
먼저, 웹 사이트의 피드 URL 가져 오기 JavaScript 사용.
doc = domParser.parseFromString (htmlTxt, 'text / html') var에 새로운 DOMParser ()를 보냅니다. var () catch (() => console.error ( '웹 사이트 가져 오기 오류'))
그만큼 술책()
메소드는 비동기 적으로 자원을 가져옵니다.. 인수 (코드에서 웹 사이트의 URL)로 자원의 URL을 사용합니다. 그것 ~을 반환합니다. 약속
객체이므로 웹 사이트가 성공적으로 가져올 때 (즉, 약속
성취된다). 그때()
성명서 가져온 응답을 처리합니다. (입술
위 코드에서).
가져온 응답은 다음과 같습니다. 텍스트 문자열로 완전히 읽는다. ~을 사용하여 본문()
방법. 이 텍스트는 가져온 웹 사이트의 HTML 텍스트. 처럼 술책()
, 본문()
또한 ~을 반환합니다. 약속
목적. 따라서 응답 스트림에서 응답 텍스트를 성공적으로 만들면, 그때()
해당 응답 텍스트를 처리합니다 (htmlText
위 코드에서).
웹 사이트의 HTML 텍스트를 사용할 수있게되면 DOMParser API
에 그것을 DOM 문서로 파싱한다.. DOMParser
XML / HTML 텍스트 문자열을 DOM 문서로 구문 분석합니다. 그 방법, parseFromString ()
, 걸리다 두 가지 주장: 구문 분석 할 텍스트 그리고 컨텐츠 타입.
그런 다음, 만들어진 DOM 문서에서 우리는 찾아라 href
관련 가치 꼬리표 ~을 사용하여
querySelector ()
피드의 URL을 얻기위한 메소드.
피드 파싱 및 표시
웹 사이트의 피드 URL을 얻은 후에는 RSS 문서 가져 오기 및 읽기 해당 URL에서 찾았습니다..
doc = domParser.parseFromString (xmlTxt, 'text / xml') doc doc = domParser.parseFromString (xmlTxt, 'text / xml') 문서를 가져 오려면 fetch (feedUrl) .then (res) => res.text (). 다음 (xmlTxt) => var domParser = new DOMParser textContent document.querySelector ( 'output') .querySelectorAll ( 'item') .forEach (item) => h1 = document.createElement ( 'h1') h1.textContent = item.querySelector ( 'title'). appendChild (h1)))
우리가 웹 사이트를 가져 와서 파싱 한 것과 같은 방식으로, 이제 우리는 XML 피드를 가져 와서 DOM 문서로 파싱한다.. 이를 위해 우리는 '텍스트 / xml'
콘텐츠 유형 parseFromString ()
방법.
파싱 된 문서에서 우리는 모든 것을 선택하십시오.
집단 ~을 사용하여 querySelectorAll
방법 및 각각 반복하다.
각 요소 내부에서 액세스 태그 처럼
,
, 과 , 피드 내용을 담고있는 그리고 우리의 간단한 RSS 리더 어플리케이션이 완성되었습니다. 원하는 피드의 스타일을 지정할 수 있습니다..
Github 데모
체크 아웃 할 수 있습니다. 더 자세한 버전 이 게시물에 사용 된 코드를 Github repo에서 확인하십시오. 더 자세한 버전 3 개의 피드를 가져옵니다. (Mozilla Hacks, Hongkiat 및 Webkit 블로그) JSON 파일 사용 또한 RSS 리더에 CSS 스타일을 추가합니다..