- ベストアンサー
リロードについて
お世話になっております。 メタタグでリロードする時に、 <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Refresh" content="1"> と書けば1秒おきにリロードされるんですけど、そのページを開いた瞬間に一回だけリロードされるようにしたいです。 一回のみリロードされる方法をよろしくお願いいたします!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一回だけ、というのは、 「開いたときにリロード」か 「一回しかリロードできない」か、分かりません。 前者の方がよく使うと思うので、そちらを解説します。 <script>location.reload()</script> このタグを埋め込むだけでよいと思います。 ちなみに、カウンターを二重カウントさせる、などの目的ならカウンターの後、もしくは</body>の直前に入れるといいと思いますよ。 後者のほうは、deagleさんが解説してくださっています。
その他の回答 (2)
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回だけリロードされるようにすることも可能です。
- murasaki_rocks
- ベストアンサー率18% (7/37)
イベントハンドラのonloadとlocation.reloadを使えば出来ます。 そんなに難しい事でもないですから、少しぐらいご自分で調べてみては?