プロが教えるわが家の防犯対策術!

こんにちわ。
リロードボタンを押した場合の処理について教えて下さい。

<BODY>のなかでonload="関数"とするとページを読込んだ時や、リロードした時に関数が
実行されると思うのすが、読込んだ時(他のページから入って来た時)は何も処理はさせたくなくて、
リロードした時だけさせたい処理があるのですが、どのようにすれば分けられるでしょうか?

ご存知の方がいましたら回答お願いします。

A 回答 (3件)

あ,フレーム内部のリロードならOKですけど,フレーム全てが更新されると,この方法は駄目ですね。



素直に保存無しのCookie使ってセッション管理するのはどうでしょう?
    • good
    • 0
この回答へのお礼

そうですか。
すべての更新は駄目なのですね。

出来ればCookieは利用したくなかったのですが、他に方法が無いのであれば
どうしようもないので再度検討してみます。

何度もご回答頂き有難うございました。

お礼日時:2002/03/20 18:52

<script language=JavaScript>


<!--
b="0";
function framewrite(a){
++b;
a.open();
a.write(b);
a.write('<a href="javascript: parent.framewrite(document)">Click!!</a>');
a.close();
}
function initialize(){
framewrite(Ctrl.document);
framewrite(Main.document);
}
-->
</script>
<frameset cols="205,*" border=10 onLoad="javascript: initialize()">
<frame name="Ctrl">
<frame name="Main">
</frameset>

例えば,このソースだと "b" という変数 ~Main,Ctrlの各フレーム内から見ると, "parent.b" 変数~ を左右のフレームで共有しています。
これを左右のフレームでなく,リロード前,リロード後のドキュメントで共有することを考えてください。ページを一度読み込んだかどうかのフラグを共有することに応用できます。

一つのファイルしか使っていないため,例のソースが少々理解しずらいかも。

この回答への補足

こんにちわ。
 
MainとCtrlでbを共有出来ると言うことは理解出来ます。
でも、リロード前とリロード後で共有ということがわかりません。
他のページから入って来た場合でも、リロードした場合でも、
bの値は初期化はされるのではないのですか?

リロード前(他のページから入って来た時)もリロード後も
同じ手順の処理をするよう思えてしまいます・・・
頭が迷路に迷い込んでしまったみたいです。

理解力が乏しく何度も質問してしまい申し訳ありません。
再度ご回答頂けると幸いです。
どうぞよろしくお願い致します。

補足日時:2002/03/15 13:49
    • good
    • 0

IEでしか確認していませんが、



frameを使うと、window.parentオブジェクトを使うことでドキュメント間のデータのやりとりが行えました。

この回答への補足

onosukleさんありがとうございます。

でも、意味がわかりません。
window.parentオブジェクトをどのように使えば、
読込んだ時(他のページから入って来た時)とリロードの
区別を付けられるのでしょうか?

お手数ですが、再度ご回答頂けませんでしょうか。
よろしくお願いします。

補足日時:2002/03/14 16:54
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!