Як створити додаток RSS Reader у JavaScript
RSS (Really Simple Syndication) - це стандартизований формат, який використовують видавці в мережі синдикувати їх зміст на інші веб-сайти та служби. An Документ RSS, також відомий як a корм, є XML-документ несе вміст, який видавець бажає розповсюджувати.
RSS-канали доступні практично на всіх веб-сайтах та блогах для онлайн-новин для своїх читачів залишайтеся в курсі їхнього вмісту. Їх також можна знайти на нетекстові веб-сайти наприклад, YouTube, де можна використовувати канал каналу YouTube повідомили про останні відео.
Називаються програми, які отримують доступ до цих каналів, а також читають і показують їх вміст Читачі RSS. Ви можете створити просту програму для читання RSS у JavaScript. У цьому підручнику ми побачимо, як це зробити.

Структура каналу RSS
Канал RSS має кореневий елемент називається , схожий на тег знайдено в документах HTML. Всередині тег, є елемент, начебто подібний в HTML, що включає в себе безліч суб-елементів містить розповсюджений вміст веб-сайту.
Живлення зазвичай несе Основна інформація такі як назва, URL-адреса та опис веб-сайту та веб-сайту окремі оновлені публікації, статті або інший вміст цього веб-сайту. Цю інформацію можна знайти в , , і елементів, відповідно.
Коли ці теги є безпосередньо присутній всередині , вони містять назву, URL-адресу та опис веб-сайту. Коли вони присутній всередині що містить інформацію про оновлені публікації, вони являють собою ту ж саму інформацію, що й раніше, але й інформацію про окремий вміст, що кожен представляти.
Є також деякі необов'язкові елементи які можуть бути присутніми в каналі RSS, надаючи додаткову інформацію, таку як зображення або авторські права на розповсюджуваний контент. Про них можна дізнатися в цьому Специфікація RSS 2.0 на cyber.harvard.edu.
Ось приклад того, як RSS-канал веб-сайту може виглядати так:
Hongkiat https://www.hongkiat.com/Дизайн поради, підручник і натхнення en-us Візуалізуйте будь-яку таблицю стилів CSS зі статистикою CSS Ви коли-небудь замислювалися, скільки правил CSS в таблиці стилів? Або ви хотіли бачити ... 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Echo Show - Останній смартфон на базі Алекса Amazon не чуже концепції розумних домашніх систем з вбудованим цифровим помічником. Адже… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Отримання каналу
Ми потребуємо витягувати канал з нашою програмою для читання RSS. На веб-сайті може бути URL-адреса каналу RSS знайдено всередині з використанням тега application / rss + xml тип. Наприклад, на сайті Hongkiat.com можна знайти посилання на канал RSS.
Спочатку подивимося, як це зробити отримати URL-адресу каналу веб-сайту використовуючи JavaScript.
fetch (websiteUrl). then ((res) => res.text ().) потім ((htmlTxt) => var domParser = новий DOMParser () дозволить doc = domParser.parseFromString feedUrl = doc.querySelector ('link [type = "application / rss + xml"]'). href)).) catch (() => console.error ("Помилка при виборі веб-сайту")) The fetch () Метод є глобальним методом, який асинхронно вибирає ресурс. URL-адреса ресурсу приймається як аргумент (URL-адреса веб-сайту в нашому коді). Це повертає a Обіцянка об'єкт, тому, коли метод успішно вибирає веб-сайт (тобто Обіцянка виконується), перша функція всередині потім() заяву обробляє отриманий відповідь (res у наведеному вище коді).
Потім отриманий відповідь повністю прочитати в текстовий рядок за допомогою текст () метод. Цей текст являє собою Текст HTML нашого придбаного веб-сайту. Люблю fetch (), текст () також повертає a Обіцянка об'єкт. Отже, при успішному створенні тексту відповіді з потоку відповідей, потім() оброблятиме цей текст відповіді (htmlText у наведеному вище коді).
Як тільки HTML-текст сайту доступний, ми використовуємо API DOMParser до розібрати його в документ DOM. DOMParser аналізує текстовий рядок XML / HTML у документ DOM. Її метод, parseFromString (), бере два аргументи: текст, який потрібно проаналізувати і тип вмісту.
Потім з створеного документа DOM ми знайди href значення відповідного тег за допомогою querySelector () метод, щоб отримати URL-адресу каналу.
Розбір та відображення каналу
Як тільки ми отримали URL-адресу каналу веб-сайту, нам потрібно вибирати та читати документ RSS знайдено за цією URL-адресою.
fetch (feedUrl). then ((res) => res.text ().) ((xmlTxt) => var domParser = новий DOMParser () доз. doc = domParser.parseFromString forEach ((item) => нехай h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1)))) Так само, як ми прибирали та аналізували веб-сайт, тепер ми отримати і проаналізувати канал XML у документ DOM. Для цього ми використовуємо 'text / xml' тип вмісту в parseFromString () метод.
У розібраному документі ми виберіть усі елементи за допомогою querySelectorAll метод і петля через кожну.
Усередині кожного елемента ми можемо теги доступу люблю , , і , що несуть вміст корму. Наші прості програми для читання RSS-файлів робляться, ви можете накреслити вміст завантажених каналів за вашим бажанням.
Демо Github
Ви можете перевірити більш детальна версія коду, який використовується в цій посаді в нашому Github repo. Більш детальна версія отримує три канали (Mozilla Hacks, Hongkiat і блог Webkit) за допомогою файлу JSON а також додає деякі стилі CSS до читача RSS.


