Cum se creează un App Reader RSS în JavaScript
RSS (Really Simple Syndication) este un format standard folosit de editorii online sindicate conținutul lor la alte site-uri web și servicii. Un Document RSS, cunoscută și sub numele de a a hrani, este un Document XML care conțin conținutul pe care un editor dorește să îl distribuie.
Fluxurile RSS sunt disponibile pe aproape toate site-urile de știri online și blogurile pentru cititorii lor stați la curent cu conținutul lor. Ele pot fi găsite și pe site-uri fără text cum ar fi YouTube, de unde puteți utiliza feed-ul unui canal YouTube informat despre cele mai recente videoclipuri.
Sunt programate programe care accesează aceste fluxuri și citesc și afișează conținutul lor Cititoare RSS. Puteți crea un program simplu de citire RSS în JavaScript. În acest tutorial, vom vedea cum să.
Structura unui flux RSS
Un feed RSS are un element rădăcină denumit
, similar cu etichetă găsită în documentele HTML. În interiorul
eticheta, există o
element, cum ar fi în HTML, asta include mai multe subelemente conținând conținutul distribuit al site-ului.
O hrănire poartă, de obicei, unele informatii de baza cum ar fi titlul, adresa URL și descrierea site-ului web și a site-ului postări individuale actualizate, articole sau alte tipuri de conținut de pe site-ul respectiv. Aceste informații se găsesc în
, , și
elemente, respectiv.
Când sunt aceste etichete direct prezent în interior
, acestea dețin titlul, adresa URL și descrierea site-ului web. Când sunt prezent înăuntru
acea deține informații despre postările actualizate, ele reprezintă aceleași informații ca și înainte, dar conținutul individual al fiecăruia
reprezinta.
Există și unii elemente opționale care pot fi prezente într-un feed RSS, furnizând informații suplimentare, cum ar fi imagini sau drepturi de autor, asupra conținutului distribuit. Puteți afla despre ele în acest sens Specificația RSS 2.0 la cyber.harvard.edu.
Iată o mostră a modului în care RSS feed al unui site web ar putea să arate:
Hongkiat https://www.hongkiat.com/Sfaturi de design, Tutorial și inspirații en-ne Vizualizați orice foaie de stil CSS cu statistici CSS V-ați întrebat vreodată câte reguli CSS există într-o foaie de stil? Sau ai vrut vreodată să vezi ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - Cel mai nou dispozitiv Smart-powered cu Alexa Amazon nu este mai ciudat față de conceptul de sisteme inteligente de acasă cu un asistent digital încorporat. La urma urmei, ... 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Fetching feed-ul
Avem nevoie să aduceți hrana cu aplicația cititorului RSS. Pe un site web, URL-ul unui feed RSS poate fi găsit în interior etichetă utilizând
application / rss + xml
tip. De exemplu, veți găsi următorul link de feed RSS pe Hongkiat.com.
În primul rând, să vedem cum să obțineți URL-ul de feed al unui site Web folosind JavaScript.
fetch (siteUrl) .then ((res) => res.text ()), apoi ((htmlTxt) => var domParser = nou DOMParser feedUrl = doc.querySelector ('link [type =' application / rss + xml ']').
fetch ()
metoda este o metodă globală care asincronează o resursă. Acesta ia URL-ul resursei ca argument (adresa URL a site-ului în codul nostru). Aceasta returnează a Promisiune
obiect, astfel încât atunci când metoda atrage cu succes site-ul web (adică Promisiune
este îndeplinită), prima funcție în interiorul atunci()
afirmație se ocupă de răspunsul preluat (res
în codul de mai sus).
Răspunsul preluat este apoi citiți pe deplin într-un șir de text folosind text()
metodă. Acest text reprezintă Textul HTML al site-ului nostru preluat. Ca fetch ()
, text()
de asemenea returnează a Promisiune
obiect. Deci, când creează cu succes un text de răspuns din fluxul de răspuns, atunci()
se va ocupa de acest text de răspuns (htmlText
în codul de mai sus).
Odată ce textul HTML al site-ului este disponibil, îl folosim DOMParser API
la analizați-l într-un document DOM. DOMParser
analizează un șir de text XML / HTML într-un document DOM. Metoda sa, parseFromString ()
, ia două argumente: text pentru a fi analizat si tipul de conținut.
Apoi, din documentul DOM creat, noi găsi href
valoarea relevantă etichetă folosind
querySelector ()
pentru a obține adresa URL a fluxului.
Parsarea și afișarea fluxului
Odată ce am primit URL-ul de feed al site-ului, trebuie să facem asta preluați și citiți documentul RSS găsite la acea adresă URL.
fetch (feedUrl) .then ((res) => res.text (), apoi ((xmlTxt) => var domParser = nou DOMParser .querySelectorAll ('item') pentruEach ((element) => h1 = document.createElement ('h1') h1.textContent = item.querySelector. appendChild (h1))
În același mod în care am preluat și analizat site-ul, acum noi obțineți și analizați feedul XML într-un document DOM. Pentru a realiza acest lucru, folosim 'Text / xml'
tip de conținut în parseFromString ()
metodă.
În documentul analizat, noi selectați toate
element folosind querySelectorAll
și buclă prin fiecare.
În interiorul fiecărui element, putem tag-uri de acces ca
,
, și , care transportă conținutul alimentat. Și, aplicația noastră simplă de citire RSS este făcută, puteți să stylizați conținutul feedurilor preluate așa cum doriți.
Github demo
Puteți să verificați versiune mai detaliată din codul utilizat în acest post în Gothub repo. Versiunea mai detaliată aduce trei feed-uri (Mozilla Hacks, Hongkiat și blogul Webkit) utilizând un fișier JSON și adaugă, de asemenea, câteva stiluri CSS cititorului RSS.