W i S T E R I A

B O A R D
 
●新規 ●トレリス表示 ●一覧表示 ●ログ検索 ●ヘルプ ●ホームへ
●関連記事の一覧

4
テスト投稿&URL欄を使ったパラメータの件 by ごだっち 2003/03/12 (Wed) 11:49
△up
url
res/edit
 
最近追加した「URL欄を使ったパラメータ」に関するスクリプトは、
検索エンジンなどでコンテンツのページ(フレームの一部)に対して
直リンクされてしまう場合が多いサイトに使用すると、特に有効なスクリプトです。

例えば、このスクリプトを使った実演として以下のページに検索エンジンから
直接リンクされたとします。

http://homepage2.nifty.com/godakaz/laboratory/hash/hl2h/1st_1st.html

この場合、何もスクリプトを組み込んでいなければ、
そのまま1st.htmlが表示されてしまいます。

実際には、JavaScriptによって、フレームのトップから順番に
正しく表示されます。

http://homepage2.nifty.com/godakaz/laboratory/hash/hl2h/2nd_2nd.html

このように、直リンクされたのが他のページであったとしても、
きちんと表示されます。

試しに、JavaScriptをオフにして、上記のURLにアクセスしてみてください。

※IEの場合は、[ツール]-[インターネットオプション]から、[セキュリティー]タブで
「インターネット」ゾーンを選択。
「レベルのカスタマイズ」をクリックして、「設定」ウィンドウ内の
「スクリプト」の項目を、すべて「無効にする」を選択。

JavaScriptがオフになっている状況であれば、「正しく」指定された
urlのまま、1st.htmlや2nd.htmlが表示されます。
8
Re1:テスト投稿&URL欄を使ったパラメータの件 by ごだっち 2003/03/12 (Wed) 11:50
△up
res/edit
 
(トレリス表示のテスト)

このスクリプトでは、以下のフローを実施しています。

1.呼び出されたページ「1st_1st.html」や「2nd_2nd.html」において、
  親フレームのフラグが立っているかどうかを判定する。
  親フレームが存在すれば、そこで処理を終える。
  親フレームが存在しない場合は、次に進む。

2.自分自身(ページ)のURLを取得し、ページ固有の部分を
  抽出する。
  「1st_1st.html」だったら「1st_1st」、
  「2nd_2nd.html」だったら「2nd_2nd」を取得する。

3.親フレームのフレーム定義ページを呼び出す。
  このとき、2.で取得したページ固有情報を、親フレームの
  URLにパラメータとして付加する。
  つまり、「親フレームURL」+「?(パラメータ区切り)」+
  「ページ固有情報」
  ⇒ 「固定URL?ページ固有情報」

4.親フレームは、自分自身のURL欄の情報を取得する。

5.パラメータが付加されていれば、それを抽出する。

6.コンテンツページを定義しているフレームのソースとして、
  5.で取得したパラメータを使用して、
  「ページ固有情報」+「.html」という文字列を使用する。
p.ink