3 votes

Flux RSS Phonegap, Javascript

J'ai besoin d'écrire une application PhoneGap (avec HTML5 et JS, je n'ai pas besoin de compatibilité avec IE) avec AJAX pour qu'elle lise un flux RSS et recherche des informations spécifiques à partir de celui-ci. Le problème que je rencontre est que je n'ai pas la meilleure façon de faire un flux RSS, et que jQuery ne peut pas faire du XML. Des suggestions ?

5voto

Jivings Points 10892

4voto

Je viens de créer une application phonegap qui analyse un flux RSS externe à l'aide de jFeed. Je vais vous donner un exemple :

Tout d'abord, j'inclus les scripts dans mon fichier index.html :

<head>
    ...
    <script type="text/javascript" src="phonegap-1.0.0.js"></script>
    <script type="text/javascript" src="jquery/jquery-1.6.4.js"></script>
    <script type="text/javascript" src="jquery.mobile/jquery.mobile-1.0b3.min.js"></script>
    <script type="text/javascript" src="jquery.jfeed/dist/jquery.jfeed.js"></script>
    <script type="text/javascript" src="scripts/my.js"></script>
    ...
</head>

Ensuite, en my.js J'utilise les éléments suivants :

parseFeed();

function parseFeed() {
$.getFeed({
    url: 'http://someUrl.com',
    dataType: "xml",
    success: function(feed) {

    $('#feedresult').empty();

    var html = '<ul data-role="listview">';

    for(var i = 0; i < feed.items.length; i++) {

        var item = feed.items[i];

        html += '<li>'
        + '<a href="#article?id='
        + i
        + '">'
        + item.title
        + '</a>'
        + '</li>';
    }

    html = html + '</ul>';

    $('#feedresult').append(html);
    $('#main').page('destroy').page();

    }});
};

Le code crée ensuite un listview (jQuery mobile) dans ma div #feedresult où chaque entrée représente un élément du flux. Comme phonegap utilise une sorte de vue web qui charge tout le contenu en utilisant le protocole file:/// ( http://groups.google.com/group/phonegap/browse_thread/thread/b60bda03bac6e9eb ), il n'y a pas de problème pour effectuer des requêtes XMLHttpRequest interdomaines à partir de Phonegap.

2voto

Mike Points 343

Cette question est ancienne, mais il peut être utile de la résoudre en 2014 ;-).

J'ai testé plusieurs plugins jQuery pour inclure un lecteur RSS, mais le seul qui fonctionne comme un charme en 1mn est zrssfeed

Il suffit d'ajouter l'appel (après call jquery et jquery mobile) dans l'en-tête :

<script type="text/javascript" src="jquery.zrssfeed.min.js"></script>

Et après avoir lancé l'appel jquery comme ceci :

<script type="text/javascript">
    $(document).ready(function () {
        $('#feedresult').rssfeed('http://my.wordpress.website.com/feed/', {
            limit: 5
        });
    });
</script>

J'espère que cela vous aidera, Mike

1voto

petraszd Points 1637

Ce que vous voulez dire, c'est que jQuery ne peut pas faire de XML. jQuery est JavaScript et jQuery utilise XMLHttpRequest lors des appels Ajax. Voir le nom XML* . Voir : http://api.jquery.com/jQuery.ajax/ . Il y a dataType param. Vous pouvez passer xml à elle. Ensuite, vous obtiendrez un objet dom avec toutes les méthodes de l'objet dom.

Vous pouvez éventuellement l'utiliser comme second paramètre des sélecteurs de jQuery :

jQuery.get(url, {}, function (data) {
    var entries = $("entry", data);
    doSomething(entries);
}, 'xml');

0voto

sparkymat Points 4619

Une option serait d'utiliser un tuyau RSS-to-JSON, comme celui-ci : http://pipes.yahoo.com/pipes/pipe.info?_id=2FV68p9G3BGVbc7IdLq02Q

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X