2005年11月04日
RSS対応化完了
今日は、もはやサイト運営には欠かせない"RSS"を組み込んでみた。これは対応ブラウザや専用ツールを用い、サイトの更新状況を確認することができる代物。このサイトでも導入している"MovableType"を始めとする所謂ブログシステムがサポートした事で広く一般的に用いられるようになり、今や数々のブラウザが標準サポートするまでになった。"InternetExplorer"も次期ver7より正式にサポートするとの事で、もはや対応しないわけにはいかないのだ。まぁ~MovableTypeを使っているので、RSS出力のテンプレートを都合良く改良すれば、後は全自動で処理されるわけだが…問題は読みたい記事にピンポイントで飛ばす方法。MovableTypeオンリーでサイトを構築している場合は問題ないが、私のように自前で書いたHTMLと融合されている場合、MovableTypeの出力と自前HTMLの両方を表示させなければならないのだ。パっと考えて、更新の度に専用のHTMLを作るという方法が簡単で良いような気がするが…それでは更新ごとに無駄が手間がかかり、MovableTypeを使う意味が無い。そこで考えたのが"CGI"を使う手法。別にどんな言語を用いても良かったのだが、このサイトで用いているのが"PHP"という事で、今回もPHPを使うことにした。方法は至って簡単。このページは"iframe"を利用しているので、iframeの呼び出しURLをPHPの変数を用いて定義し、RSSのリンクURLから"xxx.php?変数名=値"で直接PHPの変数を定義するのだ。if文を用いて変数定義が無い場合(通常アクセス)、これまでと同様のURLにアクセスされるように定義して一まず実験。これがIEでは上手く行くのだが、"Firefox"等のMozilla君系のブラウザでは思い通りのページには飛ぶものの、何故かそのページ内の指定箇所に移らない。ちゃんと処理後のソースには正しいURLが定義されているだけに、これはMozillaエンジンのバグのような気がする(笑)少し前だったらMozilla系ブラウザを閲覧対象から除外して目出度しだけど…今やMozilla君系ブラウザは無視できないぐらいのシェアを占めているので、これはなんとかしなければならない。一体何が問題なのかを調べること数時間…ターゲットフレームがリンク元と同じなら上手く行くことが判明。ということで~一端決まったページを表示させ、そこから任意のページの場所に瞬間的に飛ばすようにして目出度し目出度し。さて、これでIE7への準備はOKだ。とっとと正式版出して欲しいな。今のIEはバグばっかりで困ります(苦笑)
![]() |
![]() |
![]() |
![]() |
FirefoxでRSS | OperaでRSS | ネスケでRSS | その他でRSS |
投稿者 zeratinman : 2005年11月04日 22:31