使用JavaScript解析RSS提要 - 不使用外部服务?

时间:2014-02-21 00:42:24

标签: javascript ajax parsing rss mediawiki

我基本上一整天都在努力实现一个目标,从两个独立的站点获取RSS源以使用Javascript显示。我几乎找到了几十个可以实现这一目标的网站,但有三个问题:

  1. 我无法像我想的那样对帖子布局进行样式化,这是一个问题。
  2. 添加了一些俗气的“RSS2JAVASCRIPT FEED BY ECTXX”。
  3. 他们还尝试加载图片 - 了解这是针对15或更少字符的侧边栏上的小型新闻Feed。
  4. 相当多,我希望能够完全控制RSS数据的布局,同时尽可能避免服务。这是我建立的布局:https://dl.dropboxusercontent.com/u/67842559/Style_test.html - 将Ref =或#?Ref =“添加到每个URL的末尾非常重要,链接到的网站需要查看以便了解谁链接他们在那里(所以他们可以链接回我们 - 他们身边的一个功能会在他们的网站上显示“返回XXX”图像)

    这就是我的想法:

    1. 使用Javascript进行解析并设置RSS Feed进行显示,必须相当容易,因为众多“服务”这样做。
    2. 获得布局所需的操作类型&我们计划的链接工作不能与“服务”一起使用 - 我们不能在这里加载一些外部JS文件,我们需要自己做。
    3. 你需要了解别的东西,我昨天才“发现”了Javascript,所以对我来说还是比较新的。

      以下是我的问题:如果没有使用Google API /某些RSS Feed服务,我将如何做到这一点?我希望数据在本地处理有几个原因。

      我正在使用MediaWiki软件进行操作,到目前为止,大多数Javascript事情都运行顺利,所以这是另一个。在这种情况下我该怎么办?鉴于目前的限制,我不能这样做。

1 个答案:

答案 0 :(得分:2)

在没有使用外部服务的情况下,在纯JS中实际上是不可能的。唯一的选择是在本地php脚本的帮助下获取远程源。然后,您可以阅读本地php脚本而不是远程源,并且无论您喜欢什么,都可以。

但使用Google服务的问题到底是什么?

但是,这是一个非常基本的例子,一起使用PHP和JS来读取外部提要:

feed.php:

<?php
$ch = curl_init($_GET['url']);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$xml = curl_exec($ch);
header("Content-Type: text/xml");
echo $xml;
curl_close($ch);
exit;

Javascript(使用jQuery):

function readFeed() {
    var feedURL = "http://an.example/feed.xml";

    $.get("feed.php?url=" + feedURL, function(data) {
        // Do, whatever you like...
    });
};

这可以通过字符串过滤等来扩展(避免使用XSS等)。