最速怪談選手権

お世話になっております。
メタタグでリロードする時に、

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Refresh" content="1">

と書けば1秒おきにリロードされるんですけど、そのページを開いた瞬間に一回だけリロードされるようにしたいです。

一回のみリロードされる方法をよろしくお願いいたします!

A 回答 (3件)

一回だけ、というのは、


「開いたときにリロード」か
「一回しかリロードできない」か、分かりません。

前者の方がよく使うと思うので、そちらを解説します。

<script>location.reload()</script>

このタグを埋め込むだけでよいと思います。
ちなみに、カウンターを二重カウントさせる、などの目的ならカウンターの後、もしくは</body>の直前に入れるといいと思いますよ。

後者のほうは、deagleさんが解説してくださっています。
    • good
    • 0

 1回だけリロードされるようにするには、すでにリロードされたかどうかを、情報として持っておき、この情報を JavaScript で判断する必要があります。


 HTMLにはデータを記録する手段としてクッキーと引数があります。
 ここでは引数を使う方法を紹介してみます。
 <meta http-equiv="Refresh" content="1"> というタグの変わりに、下記のソースを埋め込みます。

<script language="javascript">
<!--
if ( location.search.indexOf("1") == -1 ) {
setTimeout("_reload()",1000);
}
function _reload() {
location.href = location.href + "?1";
}
//-->
</script>

 このソースだと、最初にHTMLが呼び出されたあと1回だけリロードされ、その後はリロードされません。
 工夫次第で2回だけリロードされるようにすることも可能です。
    • good
    • 0

イベントハンドラのonloadとlocation.reloadを使えば出来ます。


そんなに難しい事でもないですから、少しぐらいご自分で調べてみては?
    • good
    • 0

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