Jak vytvořit RSS Reader App v JavaScriptu
RSS (Really Simple Syndication) je standardizovaný formát používaný online vydavateli jejich obsah na jiné webové stránky a služby. An RSS dokument, také známý jako krmivo, je Dokument XML obsah, který chce vydavatel distribuovat.
RSS kanály jsou k dispozici na téměř všech online zpravodajských webech a blogech pro jejich čtenáře udržovat aktuální obsah. Mohou být také nalezeny netextové webové stránky například YouTube, kde můžete použít kanál kanálu YouTube informován o nejnovějších videích.
Programy, které přistupují k těmto zdrojům a čtou a zobrazují jejich obsah, jsou volány Čtečky RSS. V JavaScriptu můžete vytvořit jednoduchý program pro čtení RSS. V tomto tutoriálu uvidíme, jak na to.
Struktura informačního kanálu RSS
RSS kanál má kořenový prvek volal
, podobné v HTML dokumentech. Uvnitř
tag, tam je
prvek, něco jako v HTML, to obsahuje mnoho dílčích prvků obsah distribuovaného obsahu webové stránky.
Krmivo obvykle nese některé základní informace jako je název, adresa URL a popis webu a webu jednotlivé aktualizované příspěvky, články nebo jiný obsah webové stránky. Tyto informace naleznete v
, , a
prvků.
Když jsou tyto značky přímo uvnitř
, jsou držiteli titulu, adresy URL a popisu webových stránek. Když jsou uvnitř
že obsahuje informace o aktualizovaných příspěvcích, představují stejné informace jako dříve, ale obsah jednotlivých obsahů
zastupovat.
Tam jsou také některé volitelné prvky které mohou být obsaženy v informačním kanálu RSS a poskytují doplňující informace, například obrázky nebo autorská práva k distribuovanému obsahu. Můžete se o nich dozvědět Specifikace RSS 2.0 na adrese cyber.harvard.edu.
Zde je ukázka toho, jak RSS zdroj webových stránek může vypadat takto:
Hongkiat https://www.hongkiat.com/Design tipy, výuka a inspirace en-us Vizualizujte všechny styly CSS se statistikami CSS Přemýšleli jste, kolik CSS pravidel je ve stylu? Nebo jste někdy chtěli vidět… 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - Nejnovější Alexa-poháněl Smart Device Amazon není cizí konceptu inteligentních domácích systémů s vestavěným digitálním asistentem. Koneckonců… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Načítání zdroje
Potřebujeme načte zdroj s naší aplikací RSS. Na webových stránkách může být adresa URL kanálu RSS našel uvnitř pomocí značky
application / rss + xml
typ. Na stránce Hongkiat.com najdete například následující odkaz RSS feed.
Nejprve se podívejme, jak na to získat adresu URL webu pomocí JavaScriptu.
fetch (websiteUrl) .then ((res) => res.text (). pak ((htmlTxt) => var domParser = nový DOMParser () let doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('link [type = "application / rss + xml"]'). href)). catch (() => console.error ('Chyba při načítání webu'))
načíst ()
Metoda je globální metoda, která asynchronně vyvolá zdroj. Jako argument slouží adresa URL zdroje (adresa URL webu v našem kódu). To vrátí a Slib
objekt, takže když metoda úspěšně načte webovou stránku (tj Slib
je splněna), první funkce uvnitř pak()
prohlášení zpracovává načtenou odpověď (res
ve výše uvedeném kódu).
Načtená odpověď je pak do textového řetězce za použití text()
metoda. Tento text představuje HTML text naší webové stránky. Jako načíst ()
, text()
taky vrátí a Slib
objekt. Když tedy úspěšně vytvoří text odpovědi z toku odpovědi, pak()
zpracovává tento text odpovědi (htmlText
ve výše uvedeném kódu).
Jakmile je k dispozici text HTML stránek, používáme DOMParser API
na analyzovat do dokumentu DOM. DOMParser
analyzuje textový řetězec XML / HTML do dokumentu DOM. Jeho metoda, parseFromString ()
, trvá dva argumenty: text, který má být analyzován a typ obsahu.
Pak jsme z vytvořeného DOM dokumentu najít href
příslušné hodnoty štítek za použití
querySelector ()
metodu pro získání URL zdroje.
Analyzování a zobrazení zdroje
Jakmile dostaneme URL adresu zdroje, musíme načíst a přečíst dokument RSS na této adrese URL.
fetch (feedUrl) .then ((res) => res.text (). pak ((xmlTxt) => var domParser = nový DOMParser () let doc = domParser.parseFromString (xmlTxt, 'text / xml') doc .querySelectorAll ('item') forEach ((item) => nechat h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1))))
Stejně jako jsme si vzali a analyzovali webové stránky, nyní získat a analyzovat zdroj XML do dokumentu DOM. K dosažení tohoto cíle používáme 'text / xml'
typ obsahu v parseFromString ()
metoda.
V analyzovaném dokumentu, my vyberte vše
Prvky za použití querySelectorVšechny
a. \ t smyčky.
Uvnitř každého prvku můžeme přístupové značky jako
,
, a , které nesou obsah krmiva. A naše jednoduchá aplikace RSS čtečka je dokončena, můžete si styl obsahu načtených kanálů upravovat podle svého přání.
Demonstrace Github
Můžete se podívat na podrobnější verze kódu použitého v tomto příspěvku v našem repozitáři Github. Podrobnější verze vyvolá tři kanály (Mozilla Hacks, Hongkiat a blog Webkit) pomocí souboru JSON a také přidává některé CSS styly do RSS čtečky.