Ich muss einen RSS-Feed (XML-Version 2.0) analysieren und die analysierten Details auf einer HTML-Seite anzeigen.
javascript
html
rss
Thiru
quelle
quelle
Antworten:
Analysieren des Feeds
Mit jQuery ‚s jFeed
(Empfehlen Sie das nicht wirklich, siehe die anderen Optionen.)
Mit der integrierten XML-Unterstützung von jQuery
Mit jQuery und der Google AJAX Feed API
Das bedeutet jedoch, dass Sie darauf angewiesen sind, dass sie online und erreichbar sind.
Inhalte erstellen
Sobald Sie die benötigten Informationen erfolgreich aus dem Feed extrahiert haben, können Sie
DocumentFragment
s erstellen (mitdocument.createDocumentFragment()
den Elementen (erstellt mitdocument.createElement()
), die Sie einfügen möchten, um Ihre Daten anzuzeigen.Injizieren des Inhalts
Wählen Sie das gewünschte Containerelement auf der Seite aus und hängen Sie Ihre Dokumentfragmente daran an. Verwenden Sie einfach innerHTML, um den Inhalt vollständig zu ersetzen.
Etwas wie:
oder:
Testdaten
Verwenden Sie den Feed dieser Frage , der zum jetzigen Zeitpunkt Folgendes enthält:
Hinrichtungen
Verwenden der integrierten XML-Unterstützung von jQuery
Aufruf:
Druckt aus:
Verwenden von jQuery und den Google AJAX-APIs
Aufruf:
Druckt aus:
quelle
Eine weitere veraltete Option (dank @daylight) , die für mich am einfachsten ist (diese verwende ich für SpokenToday.info ):
Die Google Feed API ohne Verwendung von JQuery und mit nur 2 Schritten:
Importieren Sie die Bibliothek:
Feeds suchen / laden ( Dokumentation ):
Überprüfen Sie zum Analysieren von Daten die Dokumentation zum Antwortformat .
quelle
document.getElementById('image').style.backgroundImage = "url('" + src + "')";
Wenn Sie nach einer einfachen und kostenlosen Alternative zur Google Feed-API für Ihr RSS-Widget suchen, ist rss2json.com möglicherweise eine geeignete Lösung dafür.
Sie können versuchen, anhand der folgenden API-Dokumentation zu sehen, wie es mit einem Beispielcode funktioniert :
quelle
Für alle anderen, die dies lesen (ab 2019), funktionieren die meisten JS RSS-Leseimplementierungen leider nicht. Erstens wurde die Google-API heruntergefahren, sodass dies keine Option mehr ist. Aufgrund der CORS-Sicherheitsrichtlinie können Sie RSS-Feeds jetzt im Allgemeinen nicht domänenübergreifend anfordern.
Anhand des Beispiels unter https://www.raymondcamden.com/2015/12/08/parsing-rss-feeds-in-javascript-options (2015) erhalte ich Folgendes:
Access to XMLHttpRequest at 'https://feeds.feedburner.com/raymondcamdensblog?format=xml' from origin 'MYSITE' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Dies ist korrekt und stellt eine Sicherheitsmaßnahme für die End-Website dar. Dies bedeutet jedoch, dass die obigen Antworten wahrscheinlich nicht funktionieren.
Meine Problemumgehung wird wahrscheinlich darin bestehen, den RSS-Feed über PHP zu analysieren und dem Javascript den Zugriff auf mein PHP zu ermöglichen, anstatt zu versuchen, auf den Endziel-Feed selbst zuzugreifen.
quelle
Wenn Sie eine einfache Javascript-API verwenden möchten, finden Sie ein gutes Beispiel unter https://github.com/hongkiat/js-rss-reader/.
Die vollständige Beschreibung finden Sie unter https://www.hongkiat.com/blog/rss-reader-in-javascript/
Es verwendet die
fetch
Methode als globale Methode, die eine Ressource asynchron abruft. Unten ist ein Code-Snap:quelle
Sie können jquery-rss oder Vanilla RSS verwenden , das mit schönen Vorlagen geliefert wird und super einfach zu bedienen ist:
Ein funktionierendes Beispiel finden Sie unter http://jsfiddle.net/sdepold/ozq2dn9e/1/ .
quelle
Als ich jetzt versuchte, eine gute Lösung dafür zu finden, stieß ich auf das FeedEk jQuery RSS / ATOM-Feed-Plugin , das RSS- und Atom-Feeds über die jQuery- Feed-API hervorragend analysiert und anzeigt . Ich habe festgestellt, dass ein grundlegender XML-basierter RSS-Feed wie ein Zauber funktioniert und keine serverseitigen Skripte oder andere CORS-Problemumgehungen benötigt, damit er auch lokal ausgeführt werden kann.
quelle
Ich war so verärgert über viele irreführende Artikel und Antworten, dass ich meinen eigenen RSS-Reader schrieb: https://gouessej.wordpress.com/2020/06/28/comment-creer-un-lecteur-rss-en-javascript-how- einen RSS-Reader in Javascript erstellen /
Sie können AJAX-Anforderungen zum Abrufen der RSS-Dateien verwenden, dies funktioniert jedoch nur dann, wenn Sie einen CORS-Proxy verwenden. Ich werde versuchen, meinen eigenen CORS-Proxy zu schreiben, um Ihnen eine robustere Lösung zu bieten. In der Zwischenzeit funktioniert es, ich habe es auf meinem Server unter Debian Linux bereitgestellt.
Meine Lösung verwendet kein JQuery, ich verwende nur einfache Javascript-Standard-APIs ohne Bibliotheken von Drittanbietern und es soll sogar mit Microsoft Internet Explorer 11 funktionieren.
quelle