代码之家  ›  专栏  ›  技术社区  ›  Steve M

jquery外部RSS源分析器?

  •  3
  • Steve M  · 技术社区  · 16 年前

    我一直在寻找一个合适的jquery feed/xml解析器,并找到了很好的插件,比如jfeed和jparse(以及其他一些插件)。但这些都不支持检索外部提要,这是我所追求的。

    很肯定,这取决于jquery的$.ajax()方法,而不是插件本身(因为它们将基于此构建)。

    我是否可以使用某种黑客方法来覆盖jquery,或者使用原始的javascript替代方法?更好的仍然是更好的插件,但即使是我发现更流行的插件也不支持它。

    谢谢

    6 回复  |  直到 9 年前
        2
  •  2
  •   fevangelou    14 年前

    我最近建立了AMJR(异步多送JS阅读器),因为我找不到类似于您所要求的东西…

    AMJR的编写是为了满足特定的需求:一个用JS编写的多提要阅读器。换言之,一种以多个进纸作为输入并按时间顺序从所有进纸输出最后一个x的进纸阅读器。您一定会在服务器端语言中找到一个实现,但在JS中却找不到!在用户浏览器(客户端)上拥有这样的功能可以减轻一些处理负载,特别是在高流量站点上,这些站点恰好集成了外部提要。把amjr想象成你自己的“yahoo pipes”小部件,将feed混合在同一个输出块中。

    总结AMJR的情况:

    • 它可以一次获取多个提要,同时按时间顺序对它们进行排序。
    • 它实现简单,体积小,装载速度快。
    • 它是非阻塞的(异步的)。这意味着在加载提要时,浏览器将继续加载页面的其余部分。
    • 它可以处理sh**的提要负载,但最终的性能取决于用户的Internet连接下载速度。在这个例子中,我特意选择了获取大量的外部提要(150以上),这样您就可以看到a)非阻塞过程和b)它有多快。
    • 提要通过谷歌的基础设施(或者雅虎的YQL)进行“代理”,在那里它们得到“规范化”,然后在被发送回用户浏览器之前转换为(压缩的)JSON。
    • 建立在jquery之上,但是依赖性非常小,您可以很容易地使其适应使用mootools、yui等。
    • 它适用于所有现代浏览器。

    信息/下载地址: http://nuevvo.com/labs/amjr/

    享受!

        3
  •  1
  •   Steve M    16 年前

    答案似乎在这个页面上,使用YQL而不是我自己的PHP代理来处理请求。

    http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

    在发现不可能执行简单的javascript调用来处理这些请求之后,这个jquery插件看起来很理想,稍后将进行尝试。

    实际上,对于没有jquery的RSS提要解析,可以使用GoogleAjax提要API。奏效。

    http://code.google.com/apis/ajaxfeeds/examples.html

    谢谢你的回复

        4
  •  0
  •   amercader    16 年前

    如果通过检索外部源,意味着从Web应用程序所在的其他域获取源,则不能( Same origin policy )

    在服务器端,您需要某种代理,比如一个PHP或Python脚本(或者您最喜欢的语言),用于查询外部提要并将其内容返回到应用程序。

    您检查的jfeed插件有一个PHP代理的例子。

        5
  •  0
  •   Jesse Burcsik    16 年前

    jfeed有一个PHP代理。我只是有这个需要,而JFEED能够找回一个外物。如果不需要使用PHP,请编辑您的评论。

    回答(根据我们所知):使用jfeed!

    ::不过,我刚发现如果你的饲料“不成形”,它将打破JFEED。:被警告

        6
  •  0
  •   Lasse Christiansen    14 年前

    我只能推荐JFEED。我用叉子( https://github.com/uhlenbrock/jfeed )以及我的PhoneGap项目。fork添加了对分析 creator 标签,而且它完全可以在盒子外工作。