ハイパーリンクをフォームで実現するスクリプト。

本スクリプトについて。

ハイパーリンクに依るメニューをフォームで実現するCGIに使えるスクリプトです。

サイト内部のリソースのみを対象としておりますが、改造すれば外部サイトへのリンクにも使えます。

原理。

  1. 標準入力から送られてきたサブディレクトリ名とファイル名を、予め設定してあるベースURLに繋げてURLを作ります。
  2. そのURLをHTTP応答ヘッダのLocationフィールドに入れてリダイレクトします。

    • 但し、ネットスケープ 4.x以前ではこの方法だとリダイレクトされたページが文字化けを来たすので、<meta>要素によるリダイレクトページを出力します
    • 加えて、ネットスケープ 4.x以前でのみ出力されるリダイレクトページでは、JAVAスクリプトのlocation.replace()メソッドを用いて、表示URLを切替えております。これにより、JAVAスクリプトを受容れる環境であれば、リダイレクトページが経歴から消えるため、他のブラウザ同様、ブラウザの[戻る]ボタンで元のページに戻れるようになります。

使い方。

スクリプトの設置。

  1. 当該スクリプトを取得します。
  2. 続いて、一行目のパスをサーヴァに合わせて修正します。
  3. その後の「$url='http:// ... /';」に、利用するサイトの最上位ディレクトリのURLを記述します。

  4. サーヴァで指定された適切なディレクトリ内の適切なファイル名にしてアスキィモード(テキストモード)で設置します。
  5. パーミッションは「700」推奨。動かない場合に限り「701」「705」「711」「715」「751」「755」の順で試して下さい。

ウェブでの準備。

  1. ウェブでは<form action="設置CGIのURL" method="post">要素でフォームを作ります。
  2. 予め指定したディレクトリ基準のサブディレクトリを、<input type="hidden" name="d">要素のvalue属性値とします。
  3. メニューは<select name="a">要素の内容とします。
  4. 選択肢となる<option>要素にはvalue属性で移動先のファイル名を与えます。

利用例。

XHTMLでの記述例です。

<form action="設置CGIのURL" method="post">
    <div>
        <input type="hidden" name="d" value="サブディレクトリ" />
        <select name="a">
                <option value="index.html">トップページ</option></select>
        </div>
    </form>

ページ外へのご案内。