Подтвердить что ты не робот

XML-рендеринг Google Chrome в виде текста для RSS-канала

У меня есть этот script для создания XML файла для RSS-канала. Отлично работает в каждом браузере, кроме Chrome. Chrome просто отображает XML как текст. Что-то связанное с header("Content-Type: application/rss+xml; charset=ISO-8859-1"); возможно?

Это код, который я использую:

<?php

$linkUp = "http://localhost/sites/myBlog/";

header("Content-Type: application/rss+xml; charset=ISO-8859-1");

$rssfeed  = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$rssfeed .= '<rss version="2.0">';
$rssfeed .= '<channel>';
$rssfeed .= '<title>Mytitle</title>';
$rssfeed .= '<link>' . $linkUp . '</link>';
$rssfeed .= '<description>Mydescription</description>';
$rssfeed .= '<language>en-us</language>';
$rssfeed .= '<copyright>&copy; ' . strftime('%Y') .  ' . " " . ' . $linkUp . '</copyright>';


$query = "SELECT * FROM rss";
$result = $db->query($query);

while($row = $db->fetch_array($result)) {

    $rssfeed .= '<item>';
    $rssfeed .= '<title>' . $row['rss_title'] . '</title>';
    $rssfeed .= '<description>' . $row['rss_description'] . '</description>';
    $rssfeed .= '<link>' . $row['rss_link'] . '</link>';
    $rssfeed .= '<pubDate>' . date("D, d M Y H:i:s O", strtotime($date)) . '</pubDate>';
    $rssfeed .= '</item>';
}

$rssfeed .= '</channel>';
$rssfeed .= '</rss>';

echo $rssfeed;

?>
4b9b3361

Ответ 2

У меня была такая же проблема, и я использовал "application/xml", и я исправил ее. Chrome не нравится "application/rss + xml".

Ответ 3

Нижняя строка, поддержка RSS не используется "большинством" пользователей, и на данный момент они только реализуют ее как расширение. Расширение доступно здесь: RSS SubscriptionExtension

Подробное обсуждение этого вопроса о закрытии комментария к ошибке - вы можете прочитать примечания разработчика здесь: Комментарий 149

Ответ 4

Попробуйте изменить заголовок на text/xml и посмотрите, помогает ли он:

header("Content-Type: text/xml; charset=ISO-8859-1");

Ответ 5

попробуйте расширение chrome "XML Tree"

Ответ 6

Короткий ответ: добавьте "view-source: {feedurl}"

Обратите внимание, что когда URL-адрес заканчивается на .xml и распознается как хром, Chrome досадно открывает диалог Save File. Но многие каналы подачи не заканчиваются расширением (например,.xml), например:

http://feeds.feedburner.com/ScottHanselman

В корне этот URL-адрес по-прежнему является регулярным корнем xml, но для нас кодеры, которые просто хотят увидеть настоящий xml, Chrome и другие в этом случае, показывают вам удобное для чтения отображение фида (очень раздражает!)..

Таким образом, ответ на обе эти проблемы содержится в комментарии выше, данном Арне Roomann-Kurrik. Он должен был сказать это как ответ, потому что он работает!

Вид-источник: HTTP://feeds.feedburner.com/ScottHanselman Вам даже не нужно "http://".