Domovská » Kódování » Jak vytvořit RSS Reader App v JavaScriptu

    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 </code>, <code><link></code>, a <code><description></code> prvků.</p> <p>Když jsou tyto značky <strong>přímo uvnitř <code><channel></code></strong>, jsou držiteli titulu, adresy URL a popisu webových stránek. Když jsou <strong>uvnitř <code><item></code></strong> že <strong>obsahuje informace o aktualizovaných příspěvcích</strong>, představují stejné informace jako dříve, ale obsah jednotlivých obsahů <code><item></code> zastupovat.</p> <p>Tam jsou také některé <strong>volitelné prvky</strong> 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 <strong>Specifikace RSS 2.0</strong> na adrese cyber.harvard.edu.</p> <p>Zde je ukázka toho, jak <strong>RSS zdroj webových stránek</strong> může vypadat takto:</p> <pre name="code"> <rss version="2.0"> <channel> <title>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 </code>, <code><description></code>, a <code><link></code>, 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í.</p> <h4>Demonstrace Github</h4> <p>Můžete se podívat na <strong>podrobnější verze</strong> kódu použitého v tomto příspěvku v našem repozitáři Github. Podrobnější verze <strong>vyvolá tři kanály</strong> (Mozilla Hacks, Hongkiat a blog Webkit) <strong>pomocí souboru JSON</strong> a také přidává některé CSS styly do RSS čtečky.</p> <div class="rek-block"> <center> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6284591903398394" data-ad-slot="6432271471" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </center> </div> </div> </div> <div class="col-md-4"> <div class="bar"> <div class="rek-block"> <center> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6284591903398394" data-ad-slot="6432271471" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </center> </div> <div class="barpost"> <div class="bar-post-img"><a href="/articles/howto/how-to-create-a-secretly-disguised-folder-without-extra-software.html"><img src="//savtec.org/img/images_7/how-to-create-a-secretly-disguised-folder-without-extra-software_11.png" alt=""></a></div> <div class="bar-post-h1"> <a href="/articles/howto/how-to-create-a-secretly-disguised-folder-without-extra-software.html">Jak vytvořit tajně maskovanou složku bez dalšího softwaru</a> </div> </div> <div class="barpost"> <div class="bar-post-img"><a href="/articles/computer-tips/how-to-create-a-secured-and-locked-folder-in-windows-xp.html"><img src="//savtec.org/img/images/how-to-create-a-secured-and-locked-folder-in-windows-xp.jpg" alt=""></a></div> <div class="bar-post-h1"> <a href="/articles/computer-tips/how-to-create-a-secured-and-locked-folder-in-windows-xp.html">Jak vytvořit zabezpečené a uzamčené složky v systému Windows XP</a> </div> </div> <div class="barpost"> <div class="bar-post-img"><a href="/articles/coding/how-to-create-a-responsive-navigation.html"><img src="//savtec.org/img/images_2/how-to-create-a-responsive-navigation.jpg" alt=""></a></div> <div class="bar-post-h1"> <a href="/articles/coding/how-to-create-a-responsive-navigation.html">Jak vytvořit citlivou navigaci</a> </div> </div> </div> </div> </div> </div> <div class="prevnext"> <div class="container"> <div class="row"> <div class="col-md-6"> <div class="post"> <div class="prevnext-title">Další článek</div> <div class="post-img"><a href="/articles/howto/how-to-create-a-search-shortcut-on-the-desktop-in-windows-8-1.html"> <img src="//savtec.org/img/images_7/how-to-create-a-search-shortcut-on-the-desktop-in-windows-81_6.png" alt=""> </a></div> <div class="post-h1"> <a href="/articles/howto/how-to-create-a-search-shortcut-on-the-desktop-in-windows-8-1.html">Jak vytvořit zástupce pro hledání na ploše v systému Windows 8.1</a> </div> </div> </div> <div class="col-md-6"> <div class="post"> <div class="prevnext-title">Předchozí článek</div> <div class="post-img"><a href="/articles/smart-home/how-to-create-a-routine-with-amazon-alexa.html"> <img src="//savtec.org/img/images/how-to-create-a-routine-with-amazon-alexa.jpg" alt=""> </a></div> <div class="post-h1"> <a href="/articles/smart-home/how-to-create-a-routine-with-amazon-alexa.html">Jak vytvořit rutinu s Amazon Alexa</a> </div> </div> </div> </div> </div> </div> <footer> <div class="container"> <div class="langs-block"> <ul class="langs-list"> <li class="site-lang"><a href="https://www.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-TH"></i></a></li> <li class="site-lang"><a href="https://de.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-DE"></i></a></li> <li class="site-lang"><a href="https://ar.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-AE"></i></a></li> <li class="site-lang"><a href="https://bg.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-BG"></i></a></li> <li class="site-lang"><a href="https://cs.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-CZ"></i></a></li> <li class="site-lang"><a href="https://da.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-DK"></i></a></li> <li class="site-lang"><a href="https://el.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-GR"></i></a></li> <li class="site-lang"><a href="https://es.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-ES"></i></a></li> <li class="site-lang"><a href="https://et.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-EE"></i></a></li> <li class="site-lang"><a href="https://fi.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-FI"></i></a></li> <li class="site-lang"><a href="https://fr.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-FR"></i></a></li> <li class="site-lang"><a href="https://he.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-IL"></i></a></li> <li class="site-lang"><a href="https://hi.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-IN"></i></a></li> <li class="site-lang"><a href="https://hr.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-HR"></i></a></li> <li class="site-lang"><a href="https://hu.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-HU"></i></a></li> <li class="site-lang"><a href="https://id.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-ID"></i></a></li> <li class="site-lang"><a href="https://it.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-IT"></i></a></li> <li class="site-lang"><a href="https://ja.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-JP"></i></a></li> <li class="site-lang"><a href="https://ko.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-KR"></i></a></li> <li class="site-lang"><a href="https://lt.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-LT"></i></a></li> <li class="site-lang"><a href="https://lv.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-LV"></i></a></li> <li class="site-lang"><a href="https://ms.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-MY"></i></a></li> <li class="site-lang"><a href="https://nl.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-NL"></i></a></li> <li class="site-lang"><a href="https://no.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-NO"></i></a></li> <li class="site-lang"><a href="https://pl.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-PL"></i></a></li> <li class="site-lang"><a href="https://pt.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-PT"></i></a></li> <li class="site-lang"><a href="https://ro.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-RO"></i></a></li> <li class="site-lang"><a href="https://ru.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-RU"></i></a></li> <li class="site-lang"><a href="https://sk.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-SK"></i></a></li> <li class="site-lang"><a href="https://sl.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-SI"></i></a></li> <li class="site-lang"><a href="https://sr.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-RS"></i></a></li> <li class="site-lang"><a href="https://sv.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-SE"></i></a></li> <li class="site-lang"><a href="https://tr.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-TR"></i></a></li> <li class="site-lang"><a href="https://ua.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-UA"></i></a></li> <li class="site-lang"><a href="https://vi.savtec.org/articles/coding/how-to-create-a-rss-reader-app-in-javascript.html"><i class="flag flag-VN"></i></a></li> </ul> </div> <div class="row align-items-center"> <div class="col-md-3"> © <script> var currentTime = new Date(); var year = currentTime.getFullYear(); document.write(year); </script> <a href="/">Savtec</a> </div> <div class="col-md-9"> Užitečné informace a tipy pro vývoj webových aplikací. Programování, webdesign, CSS, HTML, JAVASCRIPT. Nakonfigurujte a znovu nainstalujte Windows. Vytváření webů a aplikací od nuly. </div> </div> </div> </footer> <link rel="stylesheet" href="css/flags.css"> <script src="https://unpkg.com/simple-jekyll-search@1.5.0/dest/simple-jekyll-search.min.js"></script> <script> SimpleJekyllSearch({ searchInput: document.getElementById('search-input'), resultsContainer: document.getElementById('results-container'), json: '/search.json', searchResultTemplate: '<li><a href="{url}">{title}</a></li>' }) </script> <link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" /> <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script> <script> window.addEventListener("load", function(){ window.cookieconsent.initialise({ "palette": { "popup": { "background": "#edeff5", "text": "#838391" }, "button": { "background": "#4b81e8" } }, "theme": "classic", "position": "bottom-right" })}); </script> </body> </html>