Kako stvoriti App RSS čitač u JavaScriptu
RSS (Really Simple Syndication) standardizirani je format koji koriste online izdavači udružiti njihov sadržaj drugim web-mjestima i uslugama. RSS dokument, također poznat kao a stočna hrana, je XML dokument nosi sadržaj koji izdavač želi distribuirati.
RSS izvori dostupni su na gotovo svim internetskim stranicama s vijestima i blogovima za njihove čitatelje ostanite upoznati sa njihovim sadržajem. Mogu se naći i na web-mjesta koja nisu bazirana na tekstu kao što je YouTube, gdje možete koristiti feed kanala usluge YouTube o najnovijim videozapisima.
Pozivaju se programi koji pristupaju tim feedovima i čitaju i prikazuju njihov sadržaj RSS čitači. Možete stvoriti jednostavan RSS čitač u JavaScriptu. U ovom vodiču vidjet ćemo kako.
Struktura RSS feeda
RSS feed ima korijenski element zvao
, slično nalazi se u HTML dokumentima. Unutar
oznaka, postoji
element, vrsta kao u HTML-u uključuje mnoge podelemente koji sadrže distribuirani sadržaj web-mjesta.
Obrok obično nosi nešto Osnovne informacije kao što su naslov, URL i opis web-lokacije i pojedinačne ažurirane postove, članke ili druge sadržaje te web-lokacije. Te se informacije nalaze u
, , i
pojedinačno.
Kada su te oznake izravno prisutni unutar
, imaju naslov, URL i opis web-lokacije. Kada su prisutan unutra
da sadrži informacije o ažuriranim postovima, oni predstavljaju istu informaciju kao i prije, ali i pojedine sadržaje koji svaki od njih
predstavljati.
Tu su i neki izborni elementi koji mogu biti prisutni u RSS feedu, pružajući dodatne informacije kao što su slike ili autorska prava na distribuirani sadržaj. O tome možete saznati u ovome RSS 2.0 specifikacija na cyber.harvard.edu.
Evo primjera kako RSS feed web-mjesta može izgledati ovako:
Hongkiat https://www.hongkiat.com/Savjeti za dizajn, vodič i inspiracija hr-hr Zamislite bilo koji CSS stil s CSS statistikom Jeste li se ikada zapitali koliko je CSS pravila u stilu? Ili ste ikada željeli vidjeti ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - najnoviji pametni uređaj s pogonom na Alexa Amazon nije čudan koncept pametnih kućnih sustava s ugrađenim digitalnim pomoćnikom. Uostalom,… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Dohvaćanje feeda
Moramo dohvatite feed s našom aplikacijom RSS čitača. Na web-lokaciji može biti URL RSS-a pronađeno unutar pomoću oznake
Primjena / RSS + XML
tip. Na primjer, na Hongkiat.com ćete pronaći sljedeću vezu sa RSS feedom.
Prvo, da vidimo kako dobiti URL feeda web-lokacije pomoću JavaScripta.
fetch (websiteUrl) .tad ((res) => res.text ().) ((htmlTxt) => var domParser = novi DOMParser () neka doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('veza [type = "application / rss + xml"]'). href)). catch (() => console.error ('Pogreška u dohvaćanju web lokacije'))
dohvatiti ()
metoda je globalna metoda koja asinkrono dohvaća resurs. URL resursa uzima se kao argument (URL web-lokacije u našem kodu). To vraća a Obećanje
objekt, tako da kada metoda uspješno dohvaća web-lokaciju (tj Obećanje
je ispunjena), prva funkcija unutar zatim()
izjava rukuje dohvaćenim odgovorom (res
u gornjem kodu).
Dohvaćeni odgovor je tada čitati u tekstualni niz koristiti tekst()
metoda. Ovaj tekst predstavlja HTML tekst naše preuzete web-lokacije. Kao dohvatiti ()
, tekst()
također vraća a Obećanje
objekt. Dakle, kada uspješno kreira tekst odgovora iz toka odgovora, zatim()
obradit će taj tekst odgovora (htmlText
u gornjem kodu).
Kada je HTML tekst web-lokacije dostupan, koristimo ga DOMParser API
do analizirati ga u DOM dokument. DOMParser
analizira XML / HTML tekstualni niz u DOM dokument. Njegova metoda, parseFromString ()
, traje dva argumenta: tekst za analizu i vrstu sadržaja.
Zatim, iz stvorenog DOM dokumenta, mi naći href
vrijednost relevantne označiti koristiti
querySelector ()
da biste dobili URL feeda.
Raščlanjivanje i prikazivanje feeda
Kada dobijemo URL feeda web-lokacije, moramo to učiniti dohvatiti i pročitati RSS dokument pronađeno na tom URL-u.
fetch (feedUrl) .tad ((res) => res.text ().) ((xmlTxt) => var domParser = novi DOMParser () neka doc = domParser.parseFromString (xmlTxt, 'text / xml') doc forEach ((item) => neka h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1))))
Na isti način kao što smo dohvatili i analizirali web stranicu, sada smo dobiti i analizirati XML feed u DOM dokument. Da bismo to postigli, koristimo 'Text / xml'
vrstu sadržaja u izborniku parseFromString ()
način.
U analiziranom dokumentu odaberite sve
elementi koristiti querySelectorAll
metoda i kroz svaku petlju.
Unutar svakog elementa možemo pristupne oznake Kao
,
, i , koji nose sadržaj hrane. I, naša jednostavna aplikacija za čitanje RSS-a je gotova, možete stilizirati sadržaj preuzetih feedova kako želite.
Github demo
Možete pogledati detaljnija verzija koda koji se koristi u ovom postu u našem Github repo-u. Detaljnija verzija dohvaća tri feeda (Mozilla Hacks, Hongkiat i webkit blog) pomoću JSON datoteke i dodaje neke CSS stilove u RSS čitač.