RSS не будет отображаться в IE и Chrome, но нормально работает в Firefox? - PullRequest
0 голосов
/ 13 октября 2011

Я делаю rss feed, используя php и mysql.Я извлек публикации из базы данных и отформатировал данные фида следующим образом:

$output = "<?xml version='1.0' encoding='UTF-8'?>
            <rss version='2.0' encoding='UTF-8'>
                <channel>
                    <title>Our CareFusion Publications RSS "</title>
                    <link>http://www.dev.carefusion.co.uk/news/rss.php</link>
                    <description>This is the testing publication rss feeds</description>
                    <language>en-us</language>
                    <pubDate>{$now}</pubDate>
                    <webMaster>Ghazanfar Mir</webMaster>
            ";

Затем просматривал каждую публикацию:

foreach($getPublications as $publication)
{
    $output .= "<item><title>{$publication['Publication_title']}</title>
                    <link>http://www.dev.carefusion.co.uk/news/rss.php</link>
                    <description>" . strip_tags($publication['Publication_summary']) . "</description>
                    <pubDate>" . date( "D, d M Y H:i:s T", $publication['pubdate']) . "</pubDate>
                </item>";
}

$output .= "</channel></rss>";
header("Content-Type: application/rss+xml; charset=ISO-8859-1");
echo $output;

ВОПРОСЫ:

  1. На самом деле запрос возвращает 8 строк, однако rss показывает только 4, ПОЧЕМУ ?Я проверил исходный код страницы, он показывает все 8 элементов, но в браузере отображает только 4.
  2. Эти 4 элемента отображаются на Firefox, но не на IE/Chrome, Почему ?

1 Ответ

0 голосов
/ 13 октября 2011

У вас есть кодировка, объявленная в теге <rss>, который не является частью спецификации. Это единственная причина, по которой я сейчас вижу, почему каналы не отображаются в IE / Chrome.

Можете ли вы предоставить точный источник того, что отображается в браузере? Это еще кое-что, что может помешать его рендерингу в IE или Chrome и почему в Firefox появляется не более 4 записей; если XML имеет недопустимый символ (например, &, < или >), это приведет к тому, что браузер полностью прекратит его рендеринг.

...