
によるとテレグラフ、世界ニュースの RSS フィードは次のようになります。 http://www.telegraph.co.uk/news/worldnews/rss
しかし、Chrome では空白のページしか表示されません。
wget http://www.telegraph.co.uk/news/worldnews/rss
そこには 1 行だけ記述されたファイルも渡されます:
<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet type='text/xsl' href='http://telegraph.feedsportal.com/xsl/eng/rss.xsl'?>
なにが問題ですか?
答え1
Chrome ブラウザ コンソールを開くと、ctrl + shift + j
ブラウザがそのページを読み込もうとしたときに次のエラー メッセージが表示されます。
Unsafe attempt to load URL http://telegraph.feedsportal.com/xsl/eng/rss.xsl from frame with URL http://www.telegraph.co.uk/news/worldnews/rss. Domains, protocols and ports must match.
何が起こっているかというと、RSS フィードが xsl ファイルを読み込もうとしているのです。これは、Web サイトがブラウザで RSS フィードをきれいにフォーマットするための方法です。しかし、Telegraph は xsl ファイルを別のドメインでホストしているため、ブラウザのセキュリティ ポリシーにより、読み込みが許可されません。また、読み込みができないために、Chrome は何も表示しません。これは Chrome のバグであると考えられます。Chrome が xsl を読み込めない場合は、デフォルトの動作に戻る必要があります。
RSSフィードのソースコードを表示するには、空白ページをロードしてctrl + u