Pagina principala » Codificare » Cum se creează un App Reader RSS în JavaScript

    Cum se creează un App Reader RSS în JavaScript

    RSS (Really Simple Syndication) este un format standard folosit de editorii online sindicate conținutul lor la alte site-uri web și servicii. Un Document RSS, cunoscută și sub numele de a a hrani, este un Document XML care conțin conținutul pe care un editor dorește să îl distribuie.

    Fluxurile RSS sunt disponibile pe aproape toate site-urile de știri online și blogurile pentru cititorii lor stați la curent cu conținutul lor. Ele pot fi găsite și pe site-uri fără text cum ar fi YouTube, de unde puteți utiliza feed-ul unui canal YouTube informat despre cele mai recente videoclipuri.

    Sunt programate programe care accesează aceste fluxuri și citesc și afișează conținutul lor Cititoare RSS. Puteți crea un program simplu de citire RSS în JavaScript. În acest tutorial, vom vedea cum să.

    Structura unui flux RSS

    Un feed RSS are un element rădăcină denumit , similar cu etichetă găsită în documentele HTML. În interiorul eticheta, există o element, cum ar fi în HTML, asta include mai multe subelemente conținând conținutul distribuit al site-ului.

    O hrănire poartă, de obicei, unele informatii de baza cum ar fi titlul, adresa URL și descrierea site-ului web și a site-ului postări individuale actualizate, articole sau alte tipuri de conținut de pe site-ul respectiv. Aceste informații se găsesc în </code>, <code><link></code>, și <code><description></code> elemente, respectiv.</p> <p>Când sunt aceste etichete <strong>direct prezent în interior <code><channel></code></strong>, acestea dețin titlul, adresa URL și descrierea site-ului web. Când sunt <strong>prezent înăuntru <code><item></code></strong> acea <strong>deține informații despre postările actualizate</strong>, ele reprezintă aceleași informații ca și înainte, dar conținutul individual al fiecăruia <code><item></code> reprezinta.</p> <p>Există și unii <strong>elemente opționale</strong> care pot fi prezente într-un feed RSS, furnizând informații suplimentare, cum ar fi imagini sau drepturi de autor, asupra conținutului distribuit. Puteți afla despre ele în acest sens <strong>Specificația RSS 2.0</strong> la cyber.harvard.edu.</p> <p>Iată o mostră a modului în care <strong>RSS feed al unui site web</strong> ar putea să arate:</p> <pre name="code"> <rss version="2.0"> <channel> <title>Hongkiat https://www.hongkiat.com/ Sfaturi de design, Tutorial și inspirații en-ne Vizualizați orice foaie de stil CSS cu statistici CSS V-ați întrebat vreodată câte reguli CSS există într-o foaie de stil? Sau ai vrut vreodată să vezi ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/ Amazon Echo Show - Cel mai nou dispozitiv Smart-powered cu Alexa Amazon nu este mai ciudat față de conceptul de sisteme inteligente de acasă cu un asistent digital încorporat. La urma urmei, ... 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/

    Fetching feed-ul

    Avem nevoie să aduceți hrana cu aplicația cititorului RSS. Pe un site web, URL-ul unui feed RSS poate fi găsit în interior etichetă utilizând application / rss + xml tip. De exemplu, veți găsi următorul link de feed RSS pe Hongkiat.com.

      

    În primul rând, să vedem cum să obțineți URL-ul de feed al unui site Web folosind JavaScript.

     fetch (siteUrl) .then ((res) => res.text ()), apoi ((htmlTxt) => var domParser = nou DOMParser feedUrl = doc.querySelector ('link [type =' application / rss + xml ']'). 

    fetch () metoda este o metodă globală care asincronează o resursă. Acesta ia URL-ul resursei ca argument (adresa URL a site-ului în codul nostru). Aceasta returnează a Promisiune obiect, astfel încât atunci când metoda atrage cu succes site-ul web (adică Promisiune este îndeplinită), prima funcție în interiorul atunci() afirmație se ocupă de răspunsul preluat (res în codul de mai sus).

    Răspunsul preluat este apoi citiți pe deplin într-un șir de text folosind text() metodă. Acest text reprezintă Textul HTML al site-ului nostru preluat. Ca fetch (), text() de asemenea returnează a Promisiune obiect. Deci, când creează cu succes un text de răspuns din fluxul de răspuns, atunci() se va ocupa de acest text de răspuns (htmlText în codul de mai sus).

    Odată ce textul HTML al site-ului este disponibil, îl folosim DOMParser API la analizați-l într-un document DOM. DOMParser analizează un șir de text XML / HTML într-un document DOM. Metoda sa, parseFromString (), ia două argumente: text pentru a fi analizat si tipul de conținut.

    Apoi, din documentul DOM creat, noi găsi href valoarea relevantă etichetă folosind querySelector () pentru a obține adresa URL a fluxului.

    Parsarea și afișarea fluxului

    Odată ce am primit URL-ul de feed al site-ului, trebuie să facem asta preluați și citiți documentul RSS găsite la acea adresă URL.

     fetch (feedUrl) .then ((res) => res.text (), apoi ((xmlTxt) => var domParser = nou DOMParser .querySelectorAll ('item') pentruEach ((element) => h1 = document.createElement ('h1') h1.textContent = item.querySelector. appendChild (h1)) 

    În același mod în care am preluat și analizat site-ul, acum noi obțineți și analizați feedul XML într-un document DOM. Pentru a realiza acest lucru, folosim 'Text / xml' tip de conținut în parseFromString () metodă.

    În documentul analizat, noi selectați toate element folosind querySelectorAll și buclă prin fiecare.

    În interiorul fiecărui element, putem tag-uri de acces ca </code>, <code><description></code>, și <code><link></code>, care transportă conținutul alimentat. Și, aplicația noastră simplă de citire RSS este făcută, puteți să stylizați conținutul feedurilor preluate așa cum doriți.</p> <h4>Github demo</h4> <p>Puteți să verificați <strong>versiune mai detaliată</strong> din codul utilizat în acest post în Gothub repo. Versiunea mai detaliată <strong>aduce trei feed-uri</strong> (Mozilla Hacks, Hongkiat și blogul Webkit) <strong>utilizând un fișier JSON</strong> și adaugă, de asemenea, câteva stiluri CSS cititorului RSS.</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">Cum se creează un dosar secret deghizat fără software suplimentar</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">Cum se creează un folder securizat și blocat în 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">Cum să creați o navigare responsabilă</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">Articolul următor</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">Cum se creează o comandă rapidă de căutare pe desktop în Windows 8.1</a> </div> </div> </div> <div class="col-md-6"> <div class="post"> <div class="prevnext-title">Articolul precedent</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">Cum de a crea o rutină cu 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"> Informații utile și sfaturi de dezvoltare web. Programare, design web, CSS, HTML, JAVASCRIPT. Configurați și reinstalați WINDOWS. Crearea site-urilor și aplicațiilor de la zero. </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>