Kotisivu » Coding » RSS-lukija-sovelluksen luominen JavaScriptissä

    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 </code>, <code><link></code>, ja <code><description></code> elementtejä.</p> <p>Kun nämä tunnisteet ovat <strong>suoraan sisällä <code><channel></code></strong>, heillä on verkkosivuston nimi, URL-osoite ja kuvaus. Kun he ovat <strong>läsnä sisällä <code><item></code></strong> että <strong>pitää päivitetyt viestit tiedot</strong>, ne edustavat samaa informaatiota kuin aikaisemmin, mutta kunkin yksittäisen sisällön tiedot <code><item></code> edustaa.</p> <p>On myös joitakin <strong>valinnaiset elementit</strong> 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ä <strong>RSS 2.0 -määrittely</strong> osoitteessa cyber.harvard.edu.</p> <p>Tässä on esimerkki siitä, miten <strong>Sivuston RSS-syöte</strong> saattaa näyttää:</p> <pre name="code"> <rss version="2.0"> <channel> <title>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 </code>, <code><description></code>, ja <code><link></code>, 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.</p> <h4>Github-demo</h4> <p>Voit tarkistaa <strong>yksityiskohtaisempi versio</strong> Github-repoomme tässä postissa käytetyn koodin Tarkempi versio <strong>noutaa kolme syötettä</strong> (Mozilla Hacks, Hongkiat ja Webkit-blogi) <strong>käyttämällä JSON-tiedostoa</strong> ja lisää myös joitakin CSS-tyylejä RSS-lukijaan.</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">Miten luoda salaa peitelty kansio ilman ylimääräistä ohjelmistoa</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">Turvatun ja lukitun kansion luominen Windows XP ssä</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">Miten luodaan reagoiva navigointi</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">Seuraava artikkeli</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">Hakukentän luominen Windows-työpöydällä 8.1</a> </div> </div> </div> <div class="col-md-6"> <div class="post"> <div class="prevnext-title">Edellinen artikkeli</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">Miten luoda rutiini 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"> Hyödyllisiä tietoja ja verkkokehitysvinkkejä. Ohjelmointi, web-suunnittelu, CSS, HTML, JAVASCRIPT. Määritä ja asenna WINDOWS uudelleen. Sivustojen ja sovellusten luominen tyhjästä. </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>