CGIで出力したページ内の特定位置に自動でジャンプするには?
[上に]
[前に]
[次に]
イニT
[E-Mail]
[HomePage]
1999/07/13(火) 15:14:06
はじめまして、イニTと申します。m(_ _)m
自ページ内の特定位置にジャンプするには、
<A Name="Hoge"></A>
<A Href="Hoge#Hoge"></A>
と記述すれば出来るのは解るんですが、
CGIで出力したページが表示された時に
自動で<A Name="Hoge">で定義した
特定の場所へ移動する方法を探してます。
JapvaScriptでlocation.hashを使っ関数を
BODYタグのonLoadで呼んで見たんですが、
上手い具合にいきません。(^_^;)
何かヒントでも得られればと思って投稿しました。
宜しくお願い致します。m(_ _)m
まる高
1999/07/13(火) 15:47:47
いいところまでいってましたよ。
print "<BODY onLoad=\"window.location.href='#RECORD'\">\n";
:
:
print "<A NAME=\"RECORD\"></A>\n";
のようにすれば旨くいくはずです。
hashは使ったことがないのでわかりませんね。
ST
1999/07/13(火) 15:48:41
外部から呼び出す場合は
<a href="foo.cgi#Hoge"></a>
CGIで処理後に開くなら
print "Location: foo.cgi#Hoge\n\n";
でいいのではないでしょうか。
ST
1999/07/13(火) 15:50:24
あ、そっか。
質問の意味が分かりました。この場合は使えないですね。すみません。
無責任官庁
1999/07/13(火) 16:16:16
恐らく、CGI出力のHTMLを最後まで読み切らないうちに、
onLoad が動いてしまうから、だと思いますが・・・
#違ったかなぁ?(^_^;)
#でも、デカイのをCGIで出力すると、こういうの
#あったような・・・
なので、onLoad はやめてCGI出力の最後の方、
print "</HTML>"; の直前に、
<script language=JavaScript>
<!--
location.href="#Hoge";
もしくは、
location.hash="Hoge";
-->
</script>
を出力したらどうでしょ。
onLoad がうまくいくようなら、聞き流してください(^_^;;)
#もしかしたら、location.hashの場合は、# を付けないとか、
#そういうのだけかも・・・
#とほほさんのリファレンスのミス(?)発見!(^-^;)
イニT
[E-Mail]
[HomePage]
1999/07/13(火) 16:50:04
まる高さん、STさん、こんにちは。(^-^)
早速のご回答ありがとうございます。m(_ _)m
当初は、STさんの方法でhoge.cgi#hogeとしようと
思ったんですが、全く反応しない為、cgiでは
出来ないものと判断して、次の方法である
自分のページ内へのジャンプに方向転換を図りました。
で、当初は、window.location.hrefを使った関数を
onLoadでコールしたんですが、何度もリロードされる
様な感じになってしまい、hashに変更したんですが、
現象が改善されず行き詰まったので質問させて頂きました。m(_ _)m
前置きが長くなりましたが、どうやらIE3.0xの問題の様です。(^_^;)
Win95+IE30x/WinNT4.0+IE4.01な環境を使用して
いるので、試しにNTの方でやってみたら、
どちらの方法でも問題なくジャンプする事が出来ました。(^^;)
IE3.0xの問題もあるので、hoge.cgi#hogeの方で
実装しようと思ってますが、何か他に良い方法が
あれば、ご教授下さい。m(_ _)m
出来れば、はIE3.0x/IE4.0x/NC4.51では、
同一の動作が出来る様にしたいと考えてます。
イニT
1999/07/13(火) 16:57:23
追加情報です。
スタイルシートを使っているんですが、
この部分を外すと、IE3.0xでもhoge.cgi#hogeで
出力後にジャンプ出来る様になりました。(^_^;)
window.location.herfの方は、ジャンプをする様には
なったんですが、相変わらず無限にリロードを
繰り返してます。(^_^;)
イニT
1999/07/13(火) 17:23:11
無責任官庁さん、こんにちは。(^-^)
私も当初は、htmlが表示しきらない内に
ジャンプをしようとしておかしな事になってるのか?
と思ってたんですが、そぅでも無い様です。(^_^;)
早速、教えていただいた方法を試したんですが、
結果は、onLoadの時と同じ症状です。<IE3.0x
#何度も、何度もリロードされてしまう・・・ヽ( ´ー`)丿
仕事でVisualBasicを使ってる関係で、
IE3.0xは無視出来ない、と言うか捨てられないので
取りあえずは、hoge.cgi#hogeで逃げる事にします。
余談ですが、仕事でVisualInterDev6.0を使った
イントラのWebアプリを少し前に作ったんですが、
ブラウザをIE4.0xに限定しちゃいました。(^^;)
が、今度のは半分趣味なので、そぅも言えません。(笑)
しかし、世のWebアプリの製作者は大変ですね。
インターネット上で使われるブラウザであらかた
動作確認するなんて・・・(−人−)
[上に]
[前に]
[次に]