新着機能のテスト
by K.I
- まずjkl-parsexml.jsをインストールして、さらにrecent-ajaxtb.js,cent-ajaxcom.jsをコピーさせてもらいました。
- よく分からないままに、以下のように記述してみました。
<script src="http://bluefish.orz.hm/service/js/jkl-parsexml.js"></script>
<script src="http://bluefish.orz.hm/service/js/recent-ajaxtb.js"></script>
<script src="http://bluefish.orz.hm/service/js/recent-ajaxcom.js"></script>
<HR>
・新着コメント10件
<div id="recent_ajaxcom"></div>
<script>get_ajaxcom('recent_ajaxcom')</script>
・新着トラックバック10件
<div id="recent_ajaxtb"></div>
<script>get_ajaxtb('recent_ajaxtb')</script>
<HR>
すると、こんな風に表示されます。
・新着コメント10件
・新着トラックバック10件
トラックバックは表示されますが、新着コメントは「Now loading...」のままです。
- いろいろと変なところがあるので、設定が出来てない箇所が幾つかあるのかもしれません。
- ゆうすけさんから、ajaxcomのRSSファイルが正しく生成されていないというアドバイスを頂いた。
- よくブログとかで、RSSと書いてあるリンクをクリックすると、訳の分からないXMLのソースのようなものが表示されるやつという認識しかなかった。
- このファイルが、プログラムの動作に関係しているらしい。
- とりあえず、ゆうすけさんに言われた、ajaxcom-main.pl の70行目のnext unless ( -r $file );』をコメントアウトしてみると、RSSファイルの内容が増えて、新着コメントが表示されるようになった。
- 問題点として、新着情報のリンクが、http://bluefish.orz.hm/sdoc/tb/test.htmlになってしまう。
- 正しくはhttp://bluefish.orz.hm/sdoc/tb_test.htmlなので、url.aliasがちゃんと働いていない?
- コメントアウトしたところを見ると、$DOC_ROOT下にファイルの実体がなければならない感じだ。
- でも、このファイルの実体は/home/www/doc/jikken/tb_test.plnだが、cgiによりHTMLを自動生成している。
- それをmod_rewriteで/home/www/sdoc/tb_test.htmlに見せているだけなので、マズイのかもしれない。
- ただ、今の状態でも'_'の付いたファイルのリンクが正しくないだけなので、url.aliasによりURLを変換するだけで正常になるような気がする。
- RSSファイルが何かというのを調べてみると、単にサイトの要約をまとめたXMLファイルということらしい。→それだけのことだったんだ。
- 1行コメントは、追加されたコメントをRSSとして記録しており、それを利用して新着コメントを表示しているらしい。
- だから、RSSファイルがちゃんと出来ていないとダメなのか。。
- そうだとすれば、やはりurl.aliasがちゃんと効くようになれば、良い筈なんだけど、なんで効かないのかなぁ。
- これだけだとRSSファイルは書き換わらない。やはり新しいコメントがあった時だけ書き換わるらしい。
- コメントを追加すると書き換わった。まぁ、あまりキレイではないけど、これで使えるようになりました。
- 自動生成以外のHTMLには対応出来ないけど、生のHTMLはあまり書かないから良いことにする。(良いのかなぁ。。。)
- トラックバックの方は、ファイル名に'_'があったらどうなんだろう。→このページにトラックバックを送ってみる。
- 。。。やはりリンクが、http://bluefish.orz.hm/sdoc/tb/test.htmlになってしまいました。
- これも、ajaxcomと同様に、cgi-lib/ajaxtb-main.plのajaxtb_update_rss関数の中で$pathの書き換えを追加。
- もう一回トラックバックを送ると、RSSファイルが正しく書き換わった。
1これは自分の環境だけの話なのでイイカゲンな対策ですが。。
[top]
[Homeに戻る]