WEB相談室

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

タイトル:ページの連続更新をきれいにしたい

0:[投稿] アキヒロ [MAIL] [2002/12/29 02:13 ][環境:IE6,WIN98 わからない]

はじめましてアキヒロと申します。
あるページをJavaScriptのlocation.reload()
用いて1秒程度の間隔で更新しつづけるページを作成して
いるのですが、この更新の際に白いページを挟んでしまうことがあり、きれいに更新させることができません。検討用に使っているソースを挙げてみます。

<SCRIPT LANGUAGE="JAVASCRIPT">
function reload(){
    location.reload();
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#00FF66">
<CENTER>Test Contents</CENTER>
<SCRIPT LANGUAGE="JAVASCRIPT">
var tid  = -1;
tid = setTimeout('reload()',1000);
</SCRIPT>
</BODY>
</HTML>
と、これだけのソースなんですが、これを記述したHTMLファイルをブラウザで開くと1秒毎に更新する動作に入ります。この時にサーバー側の応答時間などによるのだと思うのですが、更新の際に白い画面を挟んでしまうことがあるのです。
解消法を分かるかたが居られましたら、教えてもらえないでしょうか?
よろしくお願いいたします。


1:[回答] ごだっち [MAIL] [2002/12/29 16:39 ]

一つの考え方ですが、「1秒毎」の正確さを求めなくても良いのであれば、
<body onLoad="〜 でページを更新させるようにすれば、
ページの読み込みが完了した時点からタイマー動作を開始して、
指定時間後に再読み込みを開始させるように出来るかと。

<head>
<script language="javascript">
<!--
function rld(){
location.reload();
}
function timset(){
var tid = -1;
tid = setTimeout("rld()",1000);
}
//-->
</script>
</head>
<body onLoad="timset();">


2:[回答] アキヒロ [2002/12/31 08:46 ]

ごだっちさん、回答ありがとうございます。
教えてもらったやり方をしてみましたが、変わりありませんでした。これでは、reloadするタイミングは変わってますが、画面ちらつきに対する対策はされてませんよね?
考えた結果、次のようなやり方を思いつきました。
・ページを2つのフレームに分けて、フレーム1では何のフィルも表示させない。もうひとつのフレーム2では、フレーム枠を0にして表示させないようにする。
・フレーム2のコンテンツを自動更新させる。さらに、フレーム1に表示させたいコンテンツを文字列として保持し、フレーム1に表示させるような処理を実行する。

これで試したところ、
http://www.geocities.co.jp/Athlete-Crete/5012/test/
のようにうまくいきました。
もし、他の方法があれば知ってみたいですが、とりあえず、これで完了とさせていただきます。


3:[完了] アキヒロ [2002/12/31 08:47 ]

状態変更し忘れました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World