JavaScript'te RSS Okuyucu Uygulaması Nasıl Oluşturulur
RSS (Gerçekten Basit Dağıtım) çevrimiçi yayıncılar tarafından kullanılan standart bir biçimdir. içeriklerini sendikala diğer web sitelerine ve servislere bir RSS belgesi, olarak da bilinir besleme, bir XML belgesi yayıncının yayınlamak istediği içeriği taşıma.
RSS beslemeleri, neredeyse tüm çevrimiçi haber web sitelerinde ve okurlarının bloglarında bulunabilir. içerikleriyle ilgili güncel kalmak. Onlar da bulunabilir metin tabanlı olmayan web siteleri gibi bir YouTube kanalının yayınını kullanabileceğiniz YouTube gibi En son videolardan haberdar olun.
Bu yayınlara erişen ve içeriğini okuyan ve görüntüleyen programlara çağrılır. RSS okuyucuları. JavaScript'te basit bir RSS okuyucu programı oluşturabilirsiniz. Bu derste nasıl yapacağımızı göreceğiz..
RSS beslemesinin yapısı
Bir RSS yayını kök elemanı var denilen
, benzer HTML belgelerinde etiket bulundu. İçinde
etiketi var
eleman, tür HTML’de birçok alt öğe içerir web sitesinin dağıtılmış içeriğini içeren.
Bir besleme genellikle bazı temel bilgi web sitesinin ve web sitesinin adı, URL'si ve açıklaması gibi Bireysel güncellenen yazılar, makaleler veya diğer içerikler bu web sitesinin. Bu bilgiler
, , ve
elemanları, sırasıyla.
Bu etiketler ne zaman doğrudan içeride mevcut
, web sitesinin başlığını, URL'sini ve açıklamasını tutarlar. Onlar ne zaman içeride mevcut
o güncellenen yayınlarla ilgili bilgileri tutar, öncekilerle aynı bilgiyi temsil ederler;
temsil etmek.
Ayrıca bazı isteğe bağlı öğeler Bu, bir RSS beslemesinde bulunabilecek, dağıtılmış içerikteki görüntüler veya telif hakları gibi ek bilgiler sağlar. Bu konuda onlar hakkında bilgi edinebilirsiniz RSS 2.0 özelliği at cyber.harvard.edu.
İşte nasıl bir örnek Bir web sitesinin RSS beslemesi gibi görünebilir:
Hongkiat https://www.hongkiat.com/Tasarım İpuçları, Eğitim ve İlhamlar en-us Herhangi bir CSS Stil Sayfasını CSS İstatistikleri ile Görselleştirin Bir stil sayfasında kaç tane CSS kuralı bulunduğunu hiç merak ettiniz mi? Veya hiç görmek istediniz mi… 18/05/2017 https://www.hongkiat.com/blog/css-stylesheet-with-css-stats/Amazon Yankı Gösterisi - En Son Alexa Destekli Akıllı Cihaz Amazon, gömülü dijital asistanlı akıllı ev sistemleri kavramına yabancı değil. Sonuçta,… 17/05/2017 https://www.hongkiat.com/blog/alexa-device-amazon-echo-show/
Yayını alma
Bizim ihtiyacımız yayını al RSS okuyucu uygulamamızla. Bir web sitesinde, bir RSS beslemesinin URL'si olabilir. içinde bulundu kullanarak etiketi
uygulama / rss + xml
tip. Örneğin, Hongkiat.com'da aşağıdaki RSS yayını bağlantısını bulacaksınız.
İlk önce nasıl yapılacağını görelim bir web sitesinin yayın URL'sini al JavaScript kullanarak.
fetch (websiteUrl) .then ((res) => res.text (). sonra ((htmlTxt) => var domParser = yeni DOMParser (), doc = domParser.parseFromString (htmlTxt, 'text / html') var feedUrl = doc.querySelector ('link [tip = "uygulama / rss + xml"]'). href)). catch (() => console.error ('Web sitesi getirilirken hata oluştu')))
) (Getirme
yöntem küresel bir yöntemdir. zaman uyumsuz olarak bir kaynak getirir. Kaynağın URL’sini argüman olarak alır (kodumuzdaki web sitesinin URL’si). O bir verir Söz vermek
bu nedenle, yöntem web sitesini başarılı bir şekilde getirdiğinde (ör. Söz vermek
yerine getirilir), içindeki ilk işlev sonra()
Beyan alınan cevabı ele alır (res
yukarıdaki kodda).
Alınan cevap tamamen bir metin dizisine okumak kullanmak Metin()
yöntem. Bu metin Alınan web sitemizin HTML metni. Sevmek ) (Getirme
, Metin()
Ayrıca bir verir Söz vermek
nesne. Böylece, başarılı bir şekilde yanıt akışından bir yanıt metni oluşturduğunda, sonra()
bu yanıt metnini ele alacak (htmlText
yukarıdaki kodda).
Web sitesinin HTML metni kullanıma sunulduktan sonra, DOMParser API
için DOM belgesinde ayrıştır. DOMParser
XML / HTML metin dizesini DOM belgesine ayrıştırır. Onun yöntemi, parseFromString ()
, alır iki argüman: ayrıştırılacak metin ve içerik türü.
Sonra, oluşturulan DOM belgesinden, biz bul href
ilgili değeri etiket kullanmak
querySelector ()
yayın URL’sini almak için yöntem.
Yayını ayrıştırma ve görüntüleme
Web sitesinin yayın URL’sini aldığımızda, RSS belgesini alın ve okuyun o URL’de bulundu.
fetch (feedUrl) .then ((res) => res.text (). sonra ((xmlTxt) => var domParser = yeni DOMParser (), doc = domParser.parseFromString (xmlTxt, 'text / xml') doc yazsın .querySelectorAll ('item'). forEach ((item) => let h1 = document.createElement ('h1') h1.textContent = item.querySelector ('title'). textContent document.querySelector ('output'). appendChild (h1))))
Web sitesini alıp ayrıştırdığımız gibi, şimdi XML beslemesini bir DOM belgesine alın ve ayrıştırın. Bunu başarmak için, 'Text / xml'
içindeki içerik türü parseFromString ()
yöntem.
Ayrıştırılmış belgede, biz hepsini seç
elementler kullanmak querySelectorAll
yöntem ve her birinde döngü.
Her elementin içinde yapabiliriz erişim etiketleri sevmek
,
, ve , besleme içeriğini taşıyan Ve basit RSS okuyucu uygulamamız yapılır, alınan yayınların içeriğini istediğiniz gibi biçimlendirebilirsiniz..
Github demosu
Kontrol edebilirsiniz daha ayrıntılı sürüm Github depomuzda bu yazıda kullanılan kodun. Daha detaylı sürüm üç yayın alır (Mozilla Hacks, Hongkiat ve Webkit blogu) JSON dosyası kullanarak ve ayrıca RSS okuyucusuna bazı CSS stilleri ekler.