- ベストアンサー
Locationについて
- cgiの条件が一致した場合にページを飛ばす方法を教えてください。
- cgiは正常に動いており、1.htmlに文字を表示させることには成功しています。
- 他の方法でページを飛ばすことができるのであれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そのCGIの中身を見せてもらわないと、勘違いしているかもしれませんが。 CGIの実行内容として、「Location: http://~」ヘッダとか出力しているんでしょうか? それでは、飛びません。 Location: http://~ は、メインのHTMLを受け取るときにヘッダ指示を受けたら、飛ぶ訳です。 読み込む他スクリプトファイルやcssファイル・画像ファイルのヘッダに Locatino: ヘッダが付いていたとしても、飛ばないでしょう。 それならばどうするか。 JavaScriptとして動作するテキストを出力すればいいんじゃ無いでしょうか。 CGIの実行結果として、 ---- content-type: text/javascript (空行) window.location = "https://www.google.co.jp"; ---- この3行を出力すれば、script src=で読み込んだ部分は <script type="text/javascript">window.location = "https://www.google.co.jp";</script> と言うことになりますから、飛ぶんじゃ無いでしょうか?
その他の回答 (1)
- AsarKingChang
- ベストアンサー率46% (3467/7474)
JavaScriptではなく、そのCGIに直接ジャンプさせてください。 というのは、 <script type="text/javascript" src="hostchk.cgi"></script> これだと、 Scriptタグの中で、Location先に飛んでしまうためです。 アドレスABCにジャンプすると <script type="text/javascript" src="ABC"></script> のように、あくまでその中でだけ、ジャンプが行われるためです。 アドレスバーそのものに、CGIがでるようにすれば、 ジャンプしますよ。 ただし、LocationはBodyよりも前の、Headerセクションで 発行してくださいね! ではでは
お礼
大変助かりました。 無事に成功しました、言葉にできないぐらい感謝です。 有難う御座いました。