Homepage » Coding » RSS-olvasó alkalmazás létrehozása a JavaScript-ben

    RSS-olvasó alkalmazás létrehozása a JavaScript-ben

    RSS (igazán egyszerű szindikáció) egy szabványosított formátum, amelyet az online kiadók használnak szindikálja tartalmukat más weboldalakhoz és szolgáltatásokhoz. egy RSS dokumentum, más néven a takarmány, egy XML dokumentum a kiadó által terjeszteni kívánt tartalmat.

    Az RSS-hírcsatornák szinte minden online híroldalon és blogon elérhetőek az olvasók számára maradjon naprakész a tartalmukkal. Ezek is megtalálhatók nem szöveg alapú webhelyek például a YouTube-on, ahol a YouTube-csatorna feedjét használhatja a legújabb videókról.

    Azokat a programokat hívják meg, amelyek hozzáférnek az ilyen hírcsatornákhoz, és elolvasják és megjelenítik azok tartalmát RSS-olvasók. Egy egyszerű RSS-olvasóprogramot hozhat létre a JavaScript-ben. Ebben a bemutatóban megtudjuk, hogyan kell.

    Az RSS-hírcsatorna felépítése

    RSS-hírcsatorna van egy gyökér elem hívott , hasonló a a HTML dokumentumokban található címke. Benne címke, van egy elem, hasonló HTML-ben számos alelemet tartalmaz a webhely elosztott tartalmát tartalmazza.

    A takarmány általában néhányat hordoz alapinformációk például a cím, az URL és a weboldal és a egyedi frissített bejegyzések, cikkek vagy egyéb tartalom honlapján. Ezek az információk megtalálhatók a </code>, <code><link></code>, és <code><description></code> elemeket.</p> <p>Amikor ezek a címkék vannak <strong>közvetlenül jelen van <code><channel></code></strong>, megtartják a webhely címét, URL-jét és leírását. Mikor ők <strong>jelen van benne <code><item></code></strong> hogy <strong>tartja a frissített bejegyzésekre vonatkozó információkat</strong>, ugyanazokat az információkat képviselik, mint az előző, de az egyes tartalmaké <code><item></code> képvisel.</p> <p>Van néhány is <strong>választható elemek</strong> amely egy RSS-hírcsatornában jelen lehet, kiegészítő információkat, például képeket vagy szerzői jogokat biztosítva az elosztott tartalomhoz. Tudod megismerkedni velük ebben <strong>RSS 2.0 specifikáció</strong> a cyber.harvard.edu oldalon.</p> <p>Itt van egy minta arról, hogy a <strong>Egy weboldal RSS-feedje</strong> úgy nézhet ki, mint:</p> <pre name="code"> <rss version="2.0"> <channel> <title>Hongkiat https://www.hongkiat.com/ Tervezési tippek, bemutató és inspirációk en-us Bármely CSS-stíluslap megjelenítése CSS statisztikával Mindig azon tűnődtem, hogy hány CSS szabály van a stíluslapon? Vagy valaha is látni akarta… 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/ Amazon Echo Show - A legújabb Alexa-alapú Smart Device Az Amazon nem idegen a beágyazott digitális asszisztenssel rendelkező intelligens otthoni rendszerek fogalmának. Végtére is, a… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/

    A feed beolvasása

    Meg kell húzza be a feedet RSS-olvasó alkalmazásunkkal. Egy weboldalon az RSS-hírcsatorna URL-címe lehet belül található címke a application / rss + xml típus. Például a következő RSS-hírcsatorna linket találja a Hongkiat.com-on.

      

    Először nézzük meg, hogyan kap egy webhely feed URL-jét JavaScript használatával.

     fetch (websiteUrl) .then ((res) => res.text (). majd ((htmlTxt) => var domParser = új DOMParser () legyen doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('link [type = "application / rss + xml"]'). href)) fogás (() => console.error ('Hiba a webhely lekérésekor')) 

    A fetch () módszer egy globális módszer aszinkron módon lekér egy erőforrást. Az erőforrás URL-jét argumentumként veszi (a webhely URL-je a kódunkban). Azt visszatér a Ígéret objektum, így amikor a módszer sikeresen beolvassa a webhelyet (azaz a Ígéret teljesül), az első funkció a azután() nyilatkozat kezeli a beolvasott választ (res a fenti kódban).

    Ekkor a beolvasott válasz teljesen olvasható szöveges karakterláncba használni a szöveg() eljárás. Ez a szöveg a Letöltött webhelyünk HTML-szövege. Mint fetch (), szöveg() is visszatér a Ígéret tárgy. Tehát, ha sikeresen létrehoz egy válaszszöveget a válaszfolyamból, azután() kezelni fogja a válasz szövegét (htmlText a fenti kódban).

    Miután elérhetővé vált a weboldal HTML szövege, használjuk DOMParser API nak nek DOM dokumentumba elemzi. DOMParser elemzi az XML / HTML szövegláncot egy DOM dokumentumba. Módszere, parseFromString (), vesz két érv: a elemezni kívánt szöveget és a tartalom típus.

    Ezután a létrehozott DOM dokumentumból mi Találd meg href értékét címke használni a querySelector () módszer, hogy megkapja a feed URL-jét.

    A feed elemzése és megjelenítése

    Miután megkaptuk a webhely feed URL-jét, szükségünk van rá letölteni és olvasni az RSS dokumentumot az URL-en található.

     fetch (feedUrl) .then ((res) => res.text (). majd ((xmlTxt) => var domParser = új DOMParser () legyen 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)))) 

    Ugyanúgy, mint a webhely feltöltése és elemzése, most mi kapja meg és elemzi az XML feedet egy DOM dokumentumba. Ennek eléréséhez a 'Text / xml' tartalom típusa a parseFromString () eljárás.

    Az elemzett dokumentumban mi válassza ki az összeset elemek használni a querySelectorAll módszer és hurok keresztül.

    Minden elemen belül lehet címkék elérése mint </code>, <code><description></code>, és <code><link></code>, amelyek a takarmány tartalmát hordozzák. És az egyszerű RSS-olvasó alkalmazásunk megtörténik, a kívánt letöltések tartalmát tetszés szerint stílusozhatja.</p> <h4>Github demó</h4> <p>Megnézheti a <strong>részletesebb változat</strong> a Github repo-nál ebben a hozzászólásban használt kódot. A részletesebb változat <strong>három feedet keres</strong> (Mozilla Hacks, Hongkiat és a Webkit blog) <strong>JSON fájl használatával</strong> és hozzáad néhány CSS stílust az RSS-olvasóhoz.</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">Hogyan hozzunk létre titkos álcázott mappát extra szoftver nélkül</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">Biztonságos és zárolt mappa létrehozása a Windows XP rendszerben</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">Hogyan lehet létrehozni egy érzékeny navigációt</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">Következő cikk</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">Hogyan készítsünk keresési parancsikonot az asztalon a Windows 8.1-ben</a> </div> </div> </div> <div class="col-md-6"> <div class="post"> <div class="prevnext-title">Korábbi cikk</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">Hogyan készítsünk rutint az Amazon Alexa-val</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"> Hasznos információk és webfejlesztési tippek. Programozás, webdesign, CSS, HTML, JAVASCRIPT. Konfigurálja és telepítse újra a WINDOWS szoftvert. Webhelyek és alkalmazások létrehozása a semmiből. </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>