最新閲覧日:

まずは下記ソースをご覧ください。
これを実行させると上下2のフレームができまして、上フレームにある「Jump C」と
いうリンクをクリックすると、下フレームが「ccccccccc」というところまでジャンプ
するように作りました。
まずは実験版としてCGIでなくPC上でHTMLファイルを作成(main.cgiがmain.htmになる)
しました。その時はうまく下フレームの「cccccccc」までジャンプしたのですが、これを
CGIに作り直して実行させたところ、何も動作しないままでした。
CGIでもHTML上同様の動きをさせるにはどのようにしたらよろしいでしょうか?
どなたかご存知の方いましたら、ご鞭撻のほどお願い致します。
-------------- main.cgi -------------------------------------
<HTML>
<HEAD><TITLE>フレームテスト</TITLE></HEAD>
<FRAMESET ROWS="20%,*">
<FRAME SRC="top.cgi" NAME="FRAME2">
<FRAME SRC="btm.cgi" NAME="FRAME3">
</FRAMESET>
</HTML>

-------------- top.cgi -------------------------------------
<HTML>
<head>
</head>
<body>
<a href="right_btm.cgi#c" target="FRAME3">Jump C</a>
</body>
</html>

-------------- btm.cgi -------------------------------------
<HTML>
<head>
</head>
<body>
<A NAME="#a">aaaaaaaaa<br><br><br><br><br><br><br><br><br>
<A NAME="#b">bbbbbbbbb<br><br><br><br><br><br><br><br><br>
<A NAME="#c">ccccccccc<br><br><br><br><br><br><br><br><br>
<A NAME="#d">ddddddddddd<br><br><br><br><br><br><br><br><br>
</body>
</html>
------------------------------------------------------------
このCGIを実行すると、

A 回答 (3件)

top.cgiでのリンクが btm.cgiではなく、right_btm.cgiになっているからではないのですか?

この回答への補足

早速のアドバイスありがとうございます。
タイプミスで「right_btm.cgi」ではなく「btm.cgi」ミスでした。
重ね重ねミスがあり、大変ご迷惑をおかけして大変申し訳ありません。
宜しくお願い致します。

補足日時:2002/02/14 15:15
    • good
    • 0

投稿してすぐに思い出しました。



#は「そこからコメントアウト」の記号なので、
そこから後ろが表示されないかも。

perlで出力させるときはついでに
print "<a href=\"right_btm.cgi\#c\" target=\"FRAME3\">"
のように前にエスケープマークの\をつけてみるのはいかがでしょうか。

この回答への補足

早速のアドバイスありがとうございます。
ご指摘の点ですが、ここのHTMLの箇所は

print << STD_OUT
<HTML>
<HEAD>
(以下省略・・・・・)
STD_OUT

のように記述を行いましたので、CGIを起動後
HTMLソースを確認しても#は正常についているようでした。
説明不足があって大変申し訳ありません。
お手数ですが宜しくお願い致します。

補足日時:2002/02/14 14:54
    • good
    • 0

<A NAME="#a">がおかしいと私は思います。



このタグの対応は
<A NAME="名前">に対して、
<a href="ファイル名#名前">が正しいので、
<A NAME="a">とすべきところのはず。

HTMLで書いたときはその辺がいい加減に解釈されて無視されてても、
CGIでは#によって処理(ちょっと度忘れしましたが)されてるかもしれません。

一応実行したときのソースを確かめて表示が正しいことも確認しながら、
そこを直してみてください。

この回答への補足

早速のアドバイスありがとうございます。
指摘点を頂いた後、私の方でもおかしいことに気づき<a name=~>の
箇所で#を取り除きやってみたのですが、残念ながらそれでも問題点は解決されないようでした。
また何かお気づきの点ありましたら、宜しくお願い致します。

補足日時:2002/02/14 14:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報