WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:JavaScriptのリロードの違い

0:[投稿] ゆう [2002/07/04 16:26 ][環境:WIN+IE UNIX系+OTHER]

こんにちは。
教えて下さい。

javascriptで更新するボタンを以下のように作りました。

<a href="javascript:location.reload()">
リロードする
</a>

しかし、ブラウザ上の更新(IE)や再読み込み(NS)の押下時と
違いがありました。
javascriptで作ったボタンはスクロールがあるページで
下の方にいる状態で押下した場合、一番上に戻ってしまうのに対し、
ブラウザ上のボタンではリロード後もリロード前と同じ場所で
リロードされます。
javascriptでブラウザのボタンのように更新することは可能でしょうか?
よろしくお願いします。


1:[回答] ナン [2002/07/08 13:20 ]

そろそろ、タイムオーバーですか...。

>javascriptでブラウザのボタンのように更新することは可能でしょうか?

私の実力では、不可能でした(謎)。


2:[回答] しげる [MAIL] [2002/07/11 11:59 ]

<script type="text/javascript">
<!--
function reload(){
 with(window){
   // ブラウザ判別
   with(navigator){
     var IE = (appName == "Microsoft Internet Explorer");
     var NS = (appName == "Netscape");
     var OP = (appName == "Opera");
   }
   // 表示座標取得
   if(IE){
     with(document.body){
       var x = scrollLeft;
       var y = scrollTop;
     }
   }
   if(NS || OP){
     var x = pageXOffset;
     var y = pageYOffset;
   }
   // 表示座標代入 / リロード
   name = x + "," + y;
   location.reload();
 }
}
function remove(){
 with(window){
   // 表示座標代入 / 表示座標削除 / スクロール
   var coordinates = name.split(",");
   var x = coordinates[0];
   var y = coordinates[1];
   name = "";
   scrollTo(x, y);
 }
}

// 関数コール
with(window){ if(name){ onload = remove; } }
//-->
</script>

<a href="javascript:reload();">リロード</a>

こんな感じでどうでしょうか?ちょっと強引かもしれませんが…(汗)。
IE6、NS6.2.1、Opera6.03で確認しました。NN4については手元にないのでわかりません。


3:[完了] ゆう [2002/07/15 11:45 ]

ナンさん、しげるさんレスどうもです。
>しげるさん
 なかなか簡単にはできないようですね。
 いろいろ考えてくれてありがとうございました!

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World