iT邦幫忙

2021 iThome 鐵人賽

1
Modern Web

JavaScript 從 50% 開始,打造函式庫不是問題!系列 第 44

JS 44 - 輸入網址就能使用的 RSS 閱讀器

大家好!

今天要實作能輸入網址的 RSS 閱讀器。
我們進入今天的主題吧!


程式碼

Felix('form').on('submit', function (e) {
    e.preventDefault();

    Felix.xhr('GET', Felix('#url')[0].value, {
        load: function () {
            if (this.readyState !== 4 || this.status !== 200) return;
            Felix('body').insert(RSS2HTML(this.responseXML).documentElement);
        }
    });
});

function replace(str, oldEl) {
    const newEl = Felix.create(str, oldEl.innerHTML);
    oldEl.parentNode.replaceChild(newEl, oldEl);
    return newEl;
}

function RSS2HTML(rss) {
    const els = [].slice.call(rss.querySelectorAll('*')).reverse();
    els.forEach(function (el) {
        replace(`div.${el.tagName}`, el);
    });
    return rss;
}

實測

<body>
    <form>
        <input type="text" id="url" required>
        <button type="submit">Submit</button>
    </form>
</body>

範例連結製作中。


差不多也到尾聲了。
如果對文章有任何疑問,也歡迎在下方提問和建議!
我是 Felix,我們明天再見!


上一篇
JS 43 - 將表格式表單的資料列輸出為 JSON 格式
下一篇
JS 45 - 是否要離開網站?可能無法儲存您所做的變更。
系列文
JavaScript 從 50% 開始,打造函式庫不是問題!46

尚未有邦友留言

立即登入留言