一些背景知识:我对编程几乎一无所知,几天前才开始学习 HTML、Javascript 和 CSS。我了解基本的 HTML 元素、一些 CSS 元素(如颜色)以及 Javascript 及其库(如 jQuery)的用途。但是还不知道如何编程。
我想做的是创建一个简单的 HTML 网页,它只显示一个 RSS 提要 - 每 5-10 秒自动更新一次提要。
我发现一些网站将 RSS 链接(当然包含 XML 代码)转换为简单的 Javascript 代码(如 Feedbucket ),可以将其粘贴到 super 基本的 HTML 页面中。它有效,但是,我注意到即使我刷新 HTML 网页,提要中的新元素在发布后大约 10-20 分钟才会加载。
我认为这是因为转换的网站将 RSS 数据存储在他们的服务器中,而我的 HTML 页面从他们那里接收它。但是他们每 10-20 分钟才更新一次服务器文件,因此我的提要每 10-20 分钟才更新一次。我希望它几乎立即加载(比如 5-10 秒)。
因此,我想到我可以(理论上)简单地打开该 RSS 的 XML 文件链接,并每 10 秒刷新一次。为了让计算机执行此操作,我找到了一些简单的代码来显示来自原始 RSS 提供程序的 XML 文档。我还添加了元刷新以每 10 秒刷新一次页面。我的代码如下图所示。
我会说四种语言,但 XML 不是其中之一。现在这是一个问题,因为我的 HTML 网站只显示 XML。所以,我想问问你们如何将显示的 XML 数据“转换”为易于阅读的 HTML 格式(其中显示标题、简短描述和发布时间)。我认为这叫做解析?但我的头脑还没有进化到足以理解我在网上找到的所有复杂教程,所以我很感激有人可以解释如何使用基本的 HTML、CSS 和 Javascript(如果绝对必要,还可以使用不带插件的 jQuery)来制作它。它可以是一件非常简单的事情,我不需要任何花哨的东西。如果你想让我详细说明什么,请告诉我。谢谢!
编辑:我尝试添加此代码(我替换了 URL_OF_XML_DOC),但出现空白屏幕。我是否正确地合并了 Javascript 代码?
最佳答案
RSS 被认为是一种垂死的技术,不幸的是,您无法从自己的 Angular 做任何事情来加速另一个网站的 RSS 提要。但是,其他网站也许可以利用 WebSub通过与 Superfeedr 等提要提供商集成来加速他们自己的 RSS 提要.
如果 XML 文件比 RSS 提要本身更新,那么您可以直接连接到它并将其内容输出到 HTML 文档中。最简单的方法是使用 XMLHttpRequest 使用 JavaScript 加载 XML 文件,然后用其内容更新 HTML 文档:
function loadXMLDoc(xml_url) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// Update the HTML with the XML content
document.getElementByTagName("body")[0].innerHTML = xml.responseXML;
}
};
xmlhttp.open("GET", xml_url, true);
xmlhttp.send();
}
loadXMLDoc('URL_OF_XML_DOC');
关于javascript - 使用 HTML 快速更新 RSS 阅读器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56623412/