So erstellen Sie eine RSS-Reader-App in JavaScript
RSS (Really Simple Syndication) ist ein standardisiertes Format, das von Online-Publishern verwendet wird syndizieren ihren Inhalt zu anderen Websites und Diensten. Ein RSS-Dokument, auch bekannt als a Futter, ist ein XML-Dokument den Inhalt tragen, den ein Verlag verteilen möchte.
RSS-Feeds sind auf fast allen Online-Nachrichten-Websites und -Blogs für ihre Leser verfügbar Bleiben Sie auf dem Laufenden mit ihren Inhalten. Sie können auch auf gefunden werden nicht textbasierte Websites B. bei YouTube, wo Sie den Feed eines YouTube-Kanals verwenden können über die neuesten Videos informiert.
Programme, die auf diese Feeds zugreifen und deren Inhalte lesen und anzeigen, werden aufgerufen RSS-Leser. Sie können ein einfaches RSS-Reader-Programm in JavaScript erstellen. In diesem Tutorial erfahren Sie, wie.
Struktur eines RSS-Feeds
Ein RSS-Feed hat ein Wurzelelement namens
, ähnlich wie Tag in HTML-Dokumenten gefunden. In der
tag gibt es eine
Element, irgendwie ähnlich in HTML das enthält viele unterelemente den verteilten Inhalt der Website enthalten.
Ein Feed trägt normalerweise etwas Grundinformation wie Titel, URL und Beschreibung der Website und der einzelne aktualisierte Beiträge, Artikel oder andere Inhalte dieser Website. Diese Informationen finden Sie in
, , und
Elemente.
Wenn diese Tags sind direkt im Inneren vorhanden
, Sie enthalten den Titel, die URL und die Beschreibung der Website. Wann sie sind innen präsent
Das enthält die Informationen zu den aktualisierten Beiträgen, Sie repräsentieren die gleichen Informationen wie zuvor, jedoch die der einzelnen Inhalte
vertreten.
Es gibt auch einige optionale Elemente Dies kann in einem RSS-Feed enthalten sein und zusätzliche Informationen wie Bilder oder Urheberrechte an den verteilten Inhalten enthalten. Sie können hierüber lernen RSS 2.0-Spezifikation bei cyber.harvard.edu.
Hier ist ein Beispiel wie RSS-Feed einer Website könnte so aussehen:
Hongkiat https://www.hongkiat.com/Designtipps, Tutorial und Inspirationen en-uns Visualisieren Sie jedes CSS-Stylesheet mit CSS-Statistiken Haben Sie sich jemals gefragt, wie viele CSS-Regeln in einem Stylesheet enthalten sind? Oder wollten Sie schon immer mal sehen ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - Das neueste Smart-Gerät von Alexa Das Konzept der Smart Home-Systeme mit einem eingebetteten digitalen Assistenten ist Amazon nicht unbekannt. Immerhin ist das… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Feed abrufen
Wir müssen Holen Sie den Feed mit unserer RSS-Reader-Anwendung. Auf einer Website kann die URL eines RSS-Feeds sein im Inneren gefunden tag mit der
Anwendung / RSS + XML
Art. Zum Beispiel finden Sie den folgenden RSS-Feed-Link auf Hongkiat.com.
Zuerst wollen wir mal sehen, wie es geht Ruft die Feed-URL einer Website ab mit JavaScript.
fetch (websiteUrl) .then ((res) => res.text (). dann ((htmlTxt) => var domParser = neuer DOMParser () und doc = domParser.parseFromString feedUrl = doc.querySelector ('link [type = "application / rss + xml"]'). href)). catch (() => console.error ('Fehler beim Abrufen der Website'))
Das holen()
Methode ist eine globale Methode, die ruft asynchron eine Ressource ab. Es verwendet die URL der Ressource als Argument (die URL der Website in unserem Code). Es kehrt zurück Versprechen
Objekt, also, wenn die Methode die Website erfolgreich abruft (d. h Versprechen
erfüllt ist), die erste Funktion innerhalb der dann()
Aussage verarbeitet die abgerufene Antwort (res
im obigen Code).
Die abgerufene Antwort lautet dann vollständig in eine Zeichenfolge eingelesen Verwendung der Text()
Methode. Dieser Text steht für die HTML-Text unserer abgerufenen Website. Mögen holen()
, Text()
ebenfalls kehrt zurück Versprechen
Objekt. Wenn also erfolgreich ein Antworttext aus dem Antwortstrom erstellt wird, dann()
behandelt diesen Antworttext (htmlText
im obigen Code).
Sobald HTML-Text der Website verfügbar ist, verwenden wir diesen DOMParser-API
zu parsen Sie es in ein DOM-Dokument. DOMParser
parst eine XML / HTML-Textzeichenfolge in ein DOM-Dokument. Seine Methode, parseFromString ()
, nimmt zwei argumente: das zu analysierender Text und das Inhaltstyp.
Dann werden wir aus dem erstellten DOM-Dokument heraus finde das href
Wert des relevanten Etikett Verwendung der
querySelector ()
Methode, um die URL des Feeds abzurufen.
Analysieren und Anzeigen des Feeds
Sobald wir die Feed-URL der Website erhalten haben, müssen wir das tun RSS-Dokument abrufen und lesen unter dieser URL gefunden.
fetch (feedUrl) .then ((res) => res.text (). dann ((xmlTxt) => var domParser = neuer DOMParser () und doc = domParser.parseFromString (xmlTxt, text / xml ') .querySelectorAll ('item'). forEach ((item) => lassen h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1))))
So wie wir die Website abgerufen und analysiert haben, so wie wir Rufen Sie den XML-Feed ab und parsen Sie ihn in ein DOM-Dokument. Um dies zu erreichen, verwenden wir die 'text / xml'
Inhaltstyp in der parseFromString ()
Methode.
In dem analysierten Dokument haben wir Alle auswählen
Elemente Verwendung der querySelectorAll
Methode und durchlaufen.
In jedem Element können wir Zugriff auf Tags mögen
,
, und , die den Feed-Inhalt tragen. Mit unserer einfachen RSS-Reader-Anwendung können Sie den Inhalt der abgerufenen Feeds beliebig gestalten.
Github Demo
Sie können das überprüfen detailliertere Version des in diesem Beitrag verwendeten Codes in unserem Github-Repo. Die detailliertere Version ruft drei Feeds ab (Mozilla Hacks, Hongkiat und das Webkit-Blog) mit einer JSON-Datei und fügt dem RSS-Reader auch einige CSS-Stile hinzu.