RSS-lukija-sovelluksen luominen JavaScriptissä
RSS (Really Simple Syndication) on online-julkaisijoiden käyttämä standardoitu muoto syndikoida niiden sisältöä muille sivustoille ja palveluille. RSS-asiakirja, tunnetaan myös nimellä a rehu, on XML-asiakirja sisällön, jonka kustantaja haluaa levittää.
RSS-syötteet ovat saatavilla lähes kaikissa online-uutissivustoissa ja blogeissa niiden lukijoille pysy ajan tasalla niiden sisällöstä. Ne löytyvät myös ei-tekstipohjaiset sivustot kuten YouTube, jossa voit käyttää YouTube-kanavan syötettä uusimmat videot.
Näitä syötteitä käyttäviä ohjelmia ja niiden sisällön lukemista ja näyttämistä kutsutaan RSS-lukijat. Voit luoda yksinkertaisen RSS-lukijaohjelman JavaScriptissä. Tässä oppaassa näemme miten.
RSS-syötteen rakenne
RSS-syöte on juurielementti olla nimeltään
, samanlainen kuin tunniste löytyy HTML-asiakirjoista. Sisällä
tunniste on
elementti, sellainen HTML: ssä sisältää monia aluelementtejä sisältää verkkosivuston jaetun sisällön.
Rehu kuljettaa yleensä joitakin perustiedot kuten sivuston nimi, URL-osoite ja kuvaus sekä yksittäiset päivitetyt viestit, artikkelit tai muu sisältö verkkosivuilla. Nämä tiedot löytyvät kohdasta
, , ja
elementtejä.
Kun nämä tunnisteet ovat suoraan sisällä
, heillä on verkkosivuston nimi, URL-osoite ja kuvaus. Kun he ovat läsnä sisällä
että pitää päivitetyt viestit tiedot, ne edustavat samaa informaatiota kuin aikaisemmin, mutta kunkin yksittäisen sisällön tiedot
edustaa.
On myös joitakin valinnaiset elementit joka voi olla läsnä RSS-syötteessä ja joka tarjoaa lisätietoa, kuten kuvia tai tekijänoikeuksia jaettuun sisältöön. Voit oppia niistä tässä RSS 2.0 -määrittely osoitteessa cyber.harvard.edu.
Tässä on esimerkki siitä, miten Sivuston RSS-syöte saattaa näyttää:
Hongkiat https://www.hongkiat.com/Suunnitteluvihjeet, opetusohjelma ja inspiraatiot en-us Visuaalinen CSS-tyylitaulukko, jossa on CSS-tilastot Oletko koskaan miettinyt, kuinka monta CSS-sääntöä on tyylitaulussa? Tai oletko koskaan halunnut nähdä… 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - uusin Alexa-pohjainen Smart Device Amazon ei ole vieraantunut älykkäiden kotijärjestelmien käsitteeseen, jossa on sulautettu digitaalinen avustaja. Loppujen lopuksi… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Syötteen hakeminen
Meidän täytyy hae syöte RSS-lukijaohjelmassamme. Web-sivustossa voi olla RSS-syötteen URL-osoite sisällä tunniste käyttäen
application / rss + xml
tyyppi. Esimerkiksi löydät seuraavan RSS-syötteen linkin osoitteesta Hongkiat.com.
Katsotaanpa ensin, miten saat verkkosivuston syötteen URL-osoitteen JavaScriptin avulla.
fetch (websiteUrl) .then ((res) => res.text (). sitten ((htmlTxt) => var domParser = uusi DOMParser () anna doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('linkki [type = "application / rss + xml"]'). href)) .sauva (() => console.error ('Virhe haettaessa sivustoa'))
nouto ()
menetelmä on maailmanlaajuinen menetelmä asynkronisesti noutaa resurssin. Se vie resurssin URL-osoitteen argumenttina (verkkosivuston URL-osoite koodissamme). Se palaa a Lupaus
kun menetelmä noutaa verkkosivuston (eli Lupaus
on täytetty), ensimmäinen toiminto sitten()
selvitys käsittelee haetun vastauksen (res
yllä olevassa koodissa).
Haettu vastaus on sitten luettu kokonaan tekstin merkkijonoon käyttämällä teksti()
menetelmä. Tämä teksti edustaa Haettu verkkosivustomme HTML-teksti. Kuten nouto ()
, teksti()
myös palaa a Lupaus
esine. Joten, kun se luo onnistuneesti vastaustekstin vastausvirrasta, sitten()
käsittelee vastauksen tekstin (htmlText
yllä olevassa koodissa).
Kun verkkosivuston HTML-teksti on saatavilla, käytämme DOMParser API
että analysoi sen DOM-asiakirjaan. DOMParser
jäsentää XML / HTML-tekstirivin DOM-dokumenttiin. Sen menetelmä, parseFromString ()
, ottaa kaksi väitettä: jäsennettävä teksti ja sisältötyyppi.
Sitten luodusta DOM-asiakirjasta me Etsi href
arvo tag käyttämällä
querySelector ()
menetelmä, jotta saat syötteen URL-osoitteen.
Syötteen jäsentäminen ja näyttäminen
Kun olemme saaneet verkkosivuston syötteen URL-osoitteen, meidän täytyy hae ja lue RSS-asiakirja löytyy kyseisestä URL-osoitteesta.
fetch (feedUrl) .then ((res) => res.text (). sitten ((xmlTxt) => var domParser = uusi DOMParser () anna doc = domParser.parseFromString (xmlTxt, 'text / xml') doc .querySelectorAll ('item') .EE ((item) => let h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1))))
Samoin kuin haimme ja jäsennimme sivuston, nyt me saada ja jäsentää XML-syöte DOM-dokumenttiin. Tämän saavuttamiseksi käytämme 'Text / xml'
sisällön tyyppi parseFromString ()
menetelmä.
Parsattua asiakirjaa me valitse kaikki
elementtejä käyttämällä querySelectorAll
menetelmä ja silmukan läpi.
Jokaisen elementin sisällä voimme tunnisteet Kuten
,
, ja , jotka sisältävät syötteen sisällön. Ja yksinkertainen RSS-lukijasovellus on tehty, voit suunnitella haettujen syötteiden sisältöä haluamallasi tavalla.
Github-demo
Voit tarkistaa yksityiskohtaisempi versio Github-repoomme tässä postissa käytetyn koodin Tarkempi versio noutaa kolme syötettä (Mozilla Hacks, Hongkiat ja Webkit-blogi) käyttämällä JSON-tiedostoa ja lisää myös joitakin CSS-tyylejä RSS-lukijaan.