フレーム個別ページからの移動

| | コメント(0) | トラックバック(0)

フレームを用いた Web ページは最近では嫌われている。なぜなら,フレームを構成するページを単独で表示すると,その他のフレームページとの関連が失われてしまい,意味不明になってしまうからである。例えば,検索でヒットして表示したページがなんらかのフォームだとする。ところが,その入力の説明が実は別フレームに記載されるだけで当該ページにないと,そのフォームの入力ができない。Google などの検索結果からアクセスすると,たいていこの事態に陥ってしまう。それでも,マニュアルのようなコンテンツではフレーム構造はやはり便利で,私にとっては捨てがたい。

私のサイトのコンコーダンス・プログラムも,フレームの悪しき特性を備えていた。説明ページとフォーム(個別ページ)がフレーム分割されていて,目次ページから行儀よくアクセスし,フレーム内容個別ページ全体をロードするページ(全体ページ)から利用する,というのでない限り,ほとんど使い物にならない。

そこで,個別ページだけを読者が表示した場合,自動的に全体ページにジャンプするようにすればよいと考える。meta タグ http-equiv="Refresh" オペランド指定により自動的ページ移動を実現することができる。「N 秒後に XXX ページに自動的に移動します。しない場合はここを...」というあれである。しかし,個別ページに対して全体ページへの移動を無条件に設定してしまうと,当該個別ページのロードでループしてしまう。だから,個別ページが要求されるもとになったリファラーをチェックし,それが全体ページでない場合に限りジャンプするようにしなければならない。 JavaScript コードの例は以下のようなものである。個別ページの meta タグを記述できるところに,これを挿入しておく。

<script type="text/javascript">
<!--
mt = new RegExp("\/XXX\/全体ページ", "gi");
if (! mt.test(document.referrer)) { // check the referrer
    document.write("<meta http-equiv=\"Refresh\" content=\"1; url=http://XXX/全体ページ"\">");
}
//-->
</script>

ただし,この手法の有効性には,ブラウザがきちんとリファラーをセットしてくれるという前提がある。あらゆる事態を想定するならもう少し工夫が必要である。

トラックバック(0)

このブログ記事を参照しているブログ一覧: フレーム個別ページからの移動

このブログ記事に対するトラックバックURL: http://nox-insomniae.ddo.jp/cgi-bin/mt-tb.cgi/493

Comments


画像の中に見える文字を入力してください。

Profile

ISAO。システムエンジニア。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

この文書はフィクションであり,実在する個人,団体等とは一切関係ありません。

文書の記述内容は無保証です。不適切な表現があればコメントにてご指摘ください。

管理者が公序良俗に反すると判断したコメント,トラックバックは,断りなく削除される場合があります。

Links

About this entry

Written by isao at 2009年2月10日 00:35.

Previous: 10÷3=4

Next: JMdict 多言語辞書を Emacs sdic で使う

Recent Entries in Main Index.
All Entries in Archive Index.

Web Pages

Powered by Movable Type 4.1