Использование jQuery для разбора RSS-ленты, проблемы с Firefox и Chrome - PullRequest
3 голосов
/ 14 марта 2010

Я использовал библиотеку jQuery под названием jFeed для анализа и отображения RSS-канала блогов на моем личном веб-сайте. Сначала он работал очень хорошо, но после проверки он просто ничего не отображает, кроме Internet Explorer, где он, кажется, работает нормально.

После проверки консоли javascript с помощью Firebug в Firefox на вкладке «XML» выдается следующее сообщение:

Ошибка синтаксического анализа XML: элемент не найден Расположение: moz-nullprincipal: {3f8a0c62-32b4-4f63-b69c- 9ef402b40b64} Строка № 1, столбец 1: ^

Хотя я понятия не имею, что делать с этой информацией. Вот код, который я использовал для получения RSS-канала и его отображения (он почти такой же, как в примере, представленном на веб-сайте jFeed):

jQuery.getFeed ({ URL: 'http://sammarshalldesign.co.uk/blog/wordpress/?feed=rss2', success: function (feed) {

        var html = '';

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

            var item = feed.items[i];

            html += '<h3>'
            + '<a href="'
            + item.link
            + '">'
            + item.title
            + '</a>'
            + '</h3>';


            html += '<div>'
            + item.description
            + '</div>';
        }//end for

        jQuery('#feed').append(html);
    }//end feed function    
});//end getfeed

Любая помощь будет очень признательна.

Ответы [ 3 ]

1 голос
/ 14 марта 2010

В качестве альтернативы Google предоставляет feed api . Проверьте этот плагин Google Feed , который делает весь процесс довольно простым (не требуется php).

0 голосов
/ 19 марта 2010

Я обнаружил, что это трудный путь, но в отличие от Internet Explorer, Firefox не допускает междоменные XML-запросы без какой-либо аутентификации с сервера, на который вы бьете ... вам нужно либо использовать JSON (с который вы можете сделать кросс-сайт / междоменный запрос в jQuery), или создать какой-то прокси для вашего XML-канала локально, а затем ударить его с помощью вашего запроса jQuery.

0 голосов
/ 14 марта 2010

Вы пытаетесь загрузить канал RSS с другого домена? Если так, это не сработает. jFeed поставляется с примером PHP прокси, который вы можете разместить на своем сервере и вызвать Или вы можете использовать Yahoo! Трубы для получения данных в формате JSON.

...