CGI-BBS > 電子掲示板 > Trees > Netscape 6.01でのツリー一覧表示について


カレッヂ
カレッヂ


質問者 T.Ueda  投稿日 3/15(木) 11:33:09
trees.cgi v2.03を使用させていただいております。
ふだんはMS-IE5.5やNetscape4等を使用しておりましたため、いままで気が付かなかったのですが、Netscape 6.01でtrees.cgiで設置した掲示板を閲覧いたしますと、ツリー一覧がうまく表示できません。すべてのフォローアップ記事が、2階層めで直接、親記事にぶらさがって見えてしまいます。
これを回避する方法がなにかありましたら、ご教示いただきたくお願い申し上げます。

(使用しているプログラムのURL: http://cgi.skao.net/kissa/trees.cgi )
回答者 羊相談員  [削除]  投稿日 3/19(月) 21:18:56
Netscape6に関しては改善を待つしかないと思います。

ここの掲示板の「このページは終了したので返信(回答)は書きこめません 」も表示されません。
別に変なHTMLを出力しているわけでもないのに。
回答者 呑兵衛  [削除]  投稿日 3/26(月) 11:28:32
> すべてのフォローアップ記事が、2階層めで直接、親記事にぶらさがって見えてしまいます。

*.treを構成するリストタグが原因です。

<DL>を<UL>に
<DT>を<LI>に
<DD>は無視する(取り去る)
に、それぞれ置き換わるようスクリプトを変更することで対応できます。
インデントの list style 記号が現れるようにもなります
質問者 T.Ueda  [削除]  投稿日 3/26(月) 13:10:13
ご回答ありがとうございます。

<DL>を<UL>に、<DT>を<LI>に、<DD>は無視する(取り去る)
に、それぞれ置き換わるようスクリプトを変更した場合、
いままでの書き込みによって生成されている *.treファイル
も、タグをすべて置換する必要があるのですね。

過去記事を整理しながら変更をしようと思います。
回答者 呑兵衛  [削除]  投稿日 3/26(月) 17:35:43
少し説明が足りなかったようですみません。

保存されている *.treファイルは一切触らなくてもいいです。
またスクリプト内の sub tree もそのままです。
変えるのは、 sub list と sub view にある print "<DL> とか print "<DT> など
画面上でツリーが再現される print に続くタグ部分のみです。

また、同じ2つのサブルーチンにある*.treファイルのタグを置換する部分は

        if ($line =~ /<DD>/) { next; }
        elsif ($line =~ /<DL>/) { print "<UL>\n"; next; }        #ここ
        elsif ($line =~ /<\/DL>/) { print "</UL>\n"; next; }        #ここ
        elsif ($line =~ /<DT>\!(\d+)\.(msg|res)/) {

とし、*.treファイルを読み込んでいる$line =~ /<DD>/などを変えないよう注意してください。
質問者 T.Ueda  [削除]  投稿日 3/26(月) 20:03:07
呑兵衛 様

ご丁寧に解説いただき、ありがとうございました。
おかげさまで、Netscape6.01でもツリー構造を崩さずに表示することができました。
お礼申し上げます。

返信(回答)する


Web裏技