IE7とRSSファイル

会社の某部署に、やたらと新しいモノ好きな人がいて、時として“チャレンジャーさん”であり、はたまた“困ったチャン”でもある。

IE7の正式版が出ると、さっさく“仕事で使っているPC”にインストール。試用後にアンインストールしてくれるのならそれで良いのだが、困ったことに「これは良いぞ!」とIE7を周辺の人に勧めているらしい。

で、さっそく間接的に私のところに「イントラの○○○がおかしい」と連絡が入った。“チャレンジャーさん”のお陰でIE7が広まる前に発見できた事は良いことなのか?

この場合「IE7を使わないでください」と言い切っても良いのだが、私の“チャレンジャー魂”に火がついて問題解決に取り組むことにした。

しかし、どこに問題があるのか、ひとつひとつ穿り返しても、さっぱり分からん。

問題が起きたところはRSSファイルを読んでいる処理。

「セキュリティの問題ではないのか」とネットワーク担当者に問いかけ、調査してもらったが特に見つからない。

不思議なことに同一サーバのRSSファイルなら正常に読め、別サーバのRSSファイルが読めない。しかし、RSSファイルを読むスクリプトを単体で動かすとXML形式で取ってきてくれている。

同一サーバのRSSファイルを読む場合はJavaScriptにそのファイル名を記述、別サーバの場合はスクリプト(PHP)を記述。その違いだけなんだが…

RSSファイルを取ってくるスクリプトをJavaScriptから実行すると上手くいかないのか?

以前テスト的に作った何本かのスクリプトを眺めてみると…

「もしかしたら?」

さっそく試してみた。

あっさり解決。

うーん、こんなことが問題になるとはIE7の“仕様”は厳しいぞ。

<?php
$array = file(‘http://hoge.hogehoge.com/hoge/hoge.xml’);
$filenaiyou = join(“”,$array);
header(“Content-type: application/xml; charset=utf-8”);
echo $filenaiyou;
?>

解決策は「headerを付ける」でした。



関連エントリー