namazu-ml(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Frame(Re: はじめまして初投稿です)



いわきりです

yoshihide hiroseさんの<199909290713.QAA28754@xxxxxxxxxxxxxx>から
> > FRAMEに対応させたいのですが、source
> > を弄らずにTARGET_FRAMEを指定したいのですが可能でしょうか?
> > +---------+--------------------------------------+
> > |         |                                      |
> > |   検    |       検索結果一覧用FRAME            |
> > |   索    |                                      |
> > |   指    +--------------------------------------+
> > |   示    |                                      |
> > |   F    |                                      |
> > |   R    |       メッセージ表示FRAME            |
> > |   A    |                                      |
> > |   M    |                                      |
> > |   E    |                                      |
> > |         |                                      |
> > +---------+--------------------------------------+
>--引用ここまで---------
>[namazu 765] をみると、その後いわきりさんは、自前でフレーム対応を
>実現されたようです。

 +---------+--------------------------------------+
 |         |                                      |
 |   検検  |                                      |
 |   索索  |                                      |
 |   指結  |                                      |
 |   示果  |                                      |
 |   F一  |                                      |
 |   R覧  |       メッセージ表示FRAME            |
 |   A    |                                      |
 |   M    |                                      |
 |   E    |                                      |
 |         |                                      |
 +---------+--------------------------------------+

これならば、やってますけど、元の方のご希望とは違います m(_ _)m
1.3.0.xならば、mknmzを弄って

    # FLIST へ書き出し <DT> の後に改行が欲しいのです
    print FLIST "<DT>\n<STRONG><A HREF=\"$url\">$title</A></STRONG>\n";

となっているところを

    # FLIST へ書き出し <DT> の後に改行が欲しいのです
    print FLIST "<DT>\n<STRONG><A HREF=\"$url\" TARGET=\"article_frame\">$title</A></STRONG>\n";

としただけです。

お望みのフレーム構成を実現するには、複数フレームを更新する為にJavaScriptを
埋め込むしか方法を思い付きません。
# ACTIONで複数のcgiを実行出来るかためしてませんけど

NMZ.head.jaの変更
  <FORM METHOD="GET" ACTION="/cgi-bin/namazu.cgi">
     ↓
NMZ.head.jaの<HEAD></HEAD>の間に下記JavaScriptを埋め込み
<SCRIPT LANGUAGE="JavaScript">
<!--
function result_ref(p1,p2) {
        window.open(p1,"search_frame");
        window.open(p2,"result_frame");
}
//-->
</SCRIPT>


     :
     :
     :

  <FORM METHOD="GET" ACTION=JavaScript:result_ref('/cgi-bin/namazu_head_foot.cgi','/cgi-bin/namazu_body.cgi')>



** 重要 **
 namazuのHTML出力は、
 検索結果0の場合
   NMZ.head.ja ( <HTML><BODY>タグを含んでいます)
   NMZ.body.ja 
   NMZ.foot.ja ( </BODY></HTML>タグを含んでいます)

検索結果1以上の場合
   NMZ.head.ja ( <HTML><BODY>タグを含んでいます)
   タグ付検索結果一覧 
   NMZ.foot.ja ( </BODY></HTML>タグを含んでいます)

となっているので、
namazu_head_foot.cgiは、headとfootのみを出力するよう修正
namazu_body.cgiは、検索結果のみを出力するよう修正
(ただし、完全なHTMLとなるようヘディング情報を含む必要あり)

あとはmknmzを先程ご紹介したようにTARGET_FRAMEの指定を追加するくらいでしょうか。

1.9.4以降とか、2.0.0系だとやり方が随分違うのでまだ、追いかけきってません。

#libnmzの件は別メール(深夜)に希望を送ります > 野首さん