web-dev-qa-db-ja.com

Google Chrome RSSフィードのテキストとしてXMLをレンダリングする

RSSフィード用のXMLファイルを生成するためのこのスクリプトがあります。 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;

?>
24
Scott

これは 既知のバグ in chromeまだ修正されていません、chromeはxmlrssフィードをフォーマットなしで表示しません。

更新:Chrome用に RSSサブスクリプション/リーダー拡張 があります。

26
Wedge

これと同じ問題が発生し、「application/xml」を使用したところ、すぐに修正されました。 Chromeは "application/rss + xml"が好きではありません。

5

結論として、RSSサポートは「大多数」のユーザーによって使用されていないため、現時点では拡張機能としてのみ実装されています。拡張機能はここから入手できます: RSS SubscriptionExtension

バグのクロージングコメントにこれに関する詳細な議論があります-ここで開発者ノートを読むことができます: コメント149

2
dmp

ヘッダーをtext/xmlに変更してみて、それが役立つかどうかを確認してください。

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

chrome拡張機能 "XMLツリー"を試してください

1
EddieO

簡単な答え:「view-source:{feedurl}」を追加

URLが.xmlで終わり、chromeによってフィードとして認識されると、Chromeは迷惑なことに[ファイルの保存]ダイアログを開きます。ただし、多くのフィードURLは拡張子(つまり.xml)で終わっていないことに注意してください。 )、 といった:

http://feeds.feedburner.com/ScottHanselman

ルートでは、そのURLはまだ通常のxmlフィードですが、実際のxmlを確認したいだけのコーダーの場合、Chromeなど、この場合は人間が読める形式のフィード(非常に迷惑です!)。

したがって、これらの問題の両方に対する答えは、ArneRoomann-Kurrikによる上記のコメントに含まれています。それがうまくいくので、彼はそれを答えとして置くべきでした!

view-source:http://feeds.feedburner.com/ScottHanselman「http://」も必要ありません。

0