ページを表示する際に1回だけリロードさせたいのです
が、どのようにすればよいでしょうか?

<META HTTP-EQUIV="Refresh" CONTENT="*">では*秒ごと
にリロードされてしまいますが、そうではなくて表示の際
に1回だけリロードさせたいのです。

目的は、テンポラリに保存されたページではなく、サーバ
上の更新されたページを確実に表示させることにあります。

*を異常に長くするとかではなくて、何かスマートな手は
ありませんでしょうか?
よろしくご教授お願いいたします。

A 回答 (4件)

こんにちは。

私も同じ事をやりたい時がありました。
その時はむりやり、セッションcookie(っていうのかわかりませんが物理的に
書かれないcookieです。)にフラグを立てて対応しました。
私の場合は、利用者が限定していたので、良かったのですが、
もし利用者が不特定多数の時は使用できないと思います。
(cookieを使用しないと設定されると無限loopしてしまう)
ちなみにIE5.5の時に<META HTTP-EQUIV="pragma" CONTENT="no-cache">
が機能しなかったので、こういう対応をしました。
    • good
    • 0
この回答へのお礼

 ご回答ありがとうございます。
 そうですかあ。やっぱり、IE5.5が元凶のようですね。利用者はイントラネット内の限られた範囲が対象ですが、不特定多数と考えたほうがいい状況です。
 うーん、困った、熊ったです。

お礼日時:2001/05/17 19:00

こんばんわぁ、Blackwinglsです。



> 教えていただいたタグを書いてみたのですが、うまくリ
> ロードしてくれませんでした。

う~ん・・・・・
もしよろしかったら、問題のPageがあるURLを教えて戴けますか?
それがマズかったら、ソース内容を教えてもらえるでしょうか?
一度、私の環境で動作確認してみたいと思います。

では(^_^)/~

この回答への補足

 本物はファイアウォールの中にありますので公開できないのです。申し訳ありません。ちょっと長くなりますが、スケルトンのみを以下に書きます。

「index.htmの内容」
<html>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<title>FRAME OF TEST</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<frameset rows="69,*">
<frame name="banner" scrolling="no" noresize target="contents" src="hptest/test1.htm">
<frameset cols="124,*">
<frame name="contents" target="main" src="hptest/test2.htm">
<frame name="main" src="hptest/test3.htm">
</frameset>
<noframes>
<body>
<p>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</p>
</body>
</noframes>
</frameset>
</html>

「test3.htmの内容」
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>test3</title>
</head>
<body>
<p>test3</p>
</body>
</html>

 上記のindex.htmを置いた場所を呼ぶとリロードされるかと期待したのですが、うまくいきませんでした。ひょっとしてブラウザ(IE5.5)の設定とかで変わるんでしょうか?
 フレームがいけないのでしょうか?

補足日時:2001/03/29 22:45
    • good
    • 0

逆に


<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
でキャッシュさせないようにすれば、必ず読みに来るかと思います。
ただし、ブラウザによってサポート状況が異なるのと、ページ戻るで戻れない事もありますが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。また、お礼が遅くなりまして申し訳ありません。
Blackwinglesさんへの補足もお読みくださいましたら幸甚です。よろしくお願いいたします。

お礼日時:2001/03/29 23:06

こんばんわぁ、Blackwinglsです。



タイトルの方法ではないのですが、

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">

を記述することで、キャッシュを無効にできるようです。
(ただし、画像には無効)

一度、試してみてください。

では(^.^)/~~~

この回答への補足

ご回答ありがとうございます。
教えていただいたタグを書いてみたのですが、うまくリ
ロードしてくれませんでした。メタタグは<head></head>
の中に置いたり、<html></html>をはずして先頭に置いた
りしたのですが、やはりだめでした。
何か考えられることはあるでしょうか?

補足日時:2001/03/28 20:59
    • good
    • 0

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qリロードについて

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

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

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

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

Aベストアンサー

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

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

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

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

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

Q



<meta http-equiv="content-type" content="text/html">

としてもよいのでしょうか?
つまり
"Content-Type"
はすべて小文字でも大文字でもいいのでしょうか?

Aベストアンサー

知らなかったので調べてみました。ついでなので調べ方も一緒に書いておきますが、結論を先に言うとHTMLでは大文字でも小文字でも同じ、XHTMLなら小文字で書いた方が良さそうです。

あちこち探しましたが、最初にまずHTMLについての説明を探すといいみたいです。

HTML に関する諸注意
http://msugai.fc2web.com/web/tips/types.html

ここで属性の値についての説明を見ると、"大文字と小文字の区別は属性によります。" と書かれています。というわけで次に http-equiv がどういう属性なのかを調べます。

7 HTML文書の全体構造
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/global.html

4. 文書のヘッダ > 4. メタデータ > META要素の指定 のところで、http-equiv 属性の値についてこういう風に書かれています。

> http-equiv = name [CI]
> この属性はnameと置き換えて用いられ得る。HTTPサーバは、この属性を、HTTP応答メッセージヘッダに用いる情報を収集するために用いる。

http-equiv の値は name [CI] となっています。さっきのページに戻って属性の値についての説明を見ると、CIは "値に大文字小文字の区別がない。「a」と「A」とは等しいものと解釈される。" ということなので、大文字でも小文字でも問題ないということになります。

また、"XHTML 1.0 では大文字と小文字は常に区別され、原則小文字で定義されている事に注意して下さい。 [CI] が指定されている場合は小文字で記述するようにお勧めします。" とも書かれているので、XHTMLで記述される場合は小文字が無難みたいです。

長くなってすみませんです。

知らなかったので調べてみました。ついでなので調べ方も一緒に書いておきますが、結論を先に言うとHTMLでは大文字でも小文字でも同じ、XHTMLなら小文字で書いた方が良さそうです。

あちこち探しましたが、最初にまずHTMLについての説明を探すといいみたいです。

HTML に関する諸注意
http://msugai.fc2web.com/web/tips/types.html

ここで属性の値についての説明を見ると、"大文字と小文字の区別は属性によります。" と書かれています。というわけで次に http-equiv がどういう属性なのかを調べます。
...続きを読む

Qperl チャット リロード

chatpad(http://chatpad.jp/)というサイトを利用してみて思ったのですが、リロードっていつしているのでしょうか?(ブラウザのステータスバーを見る限りは一定の間隔でしかリロードしていなくて、リロードしていない時でも発言は更新される)
perlの勉強をしていて、チャットを作ろうと思ったのですが、色々なサイトを調べてみても、「相手が発言したのかどうかを調べるためにはリロードするしかない。」みたいに書いてあったのですが、リロードなしでも相手の発言を取得して随時表示させていくことができるのでしょうか?(できるなら、そのようなプログラムを書きたいです)
javascriptとperlだけで実現するチャットの場合、どのようなアルゴリズムが一番スマートですか?詳しく教えてください。お願いします。

Aベストアンサー

そのチャットを試したわけじゃないけど紹介記事には「Ajaxを利用しており」って書いてありますね。
http://gigazine.net/index.php?/news/comments/20090715_chatpad/

単純に内部的に定期リロードしてるのか・・・うまく作れば他者の発言に合わせて非同期でロードもできるのかな。
http://www.google.com/search?q=chat+ajax+perl&lr=lang_ja

Qのこと

<META HTTP-EQUIV='refresh' CONTENT='1;URL=http://www.yahoo.co.jp/'>
このようにページを飛ばしたいときで、現在のページがある場所がフレーム内のときに、 target=_topと指定したりできるものでしょうか。

Aベストアンサー

指定しても無効です。
JavaScriptを使えば可能ですが。

一応JavaScriptのコード例を書いておきます。
ただし、当然ブラウザがJavaScript対応のものだけでしか見れないという弱点はあります。
(もっとも、例えば「IE4.0またはNN4.0以上」で恐らく8~9割ほどのユーザをカバーできるとは思いますが。)

例:
<head>
<script lang="JavaScript">
<!--
function hoge(){
//最初に少しの時間表示
var ii=0;
while(ii<=1000){//ここの数字で時間を調節
ii++;
}
//その後でジャンプ
parent.location.href="http://www.goo.ne.jp";
return false;
}
//-->
</script>
</head>
<body onLoad="hoge()">
.....

Qjqueryを使って非同期通信で10秒ごとにリロード

jqueryを使って非同期通信で10秒ごとにリロードをさせようと
しているのですが、

setInterval(function(){
$(document.body).load("./hoge.php");
},10000);
とすると最初にリロードした10秒と次にリロードされた10秒が
一緒にカウントされているみたいで、リロードの間隔が
めちゃくちゃになってしまいます。
どなたかご教授ください。
よろしくお願いいたします。

Aベストアンサー

詳しいことは調べていないので分かりませんが、ロードに時間がかかっているために、間隔がめちゃくちゃに見えるだけではないでしょうか?

あと、setIntervalには色々と面倒があるようなので、それもチェックしてみてください。
http://www.mapee.jp/wlh/javascriptsetinterval.html

Q表示されない? 

<META NAME="keyword" content="
********,*-*-">
   
<META NAME="******* ">

といれると表示されなくなります

※フレームを使ったページのみです

なぜでしょうか?

ちなみにURLは契約(?)違反なのでかけません・・・

Aベストアンサー

まず、keywordではなく、keywordsです。
あと、3行目のMETAはなんでしょう?
NAMEだけがあって中身がないですよね。
それが原因の一つかもしれません。

下記URL とほほのWWW入門さんから、
HTMLリファレンスでMETAを調べて見てはいかがでしょう。

参考URL:http://tohoho.wakusei.ne.jp/www.htm

Qリロード禁止

現在、CGIゲームを製作している者です

名前と得点を
http://www.~~~~~~/index.php?name=name&score=285
のようにしているのですが、この状態でリロードすると連続投稿みたいな感じになります

例えば
普通の状態
名無し 198点

リロードすると
名無し 198点
名無し 198点

のようになってしまいます

JavaScriptを使えば出来そうなのですが、わかりません

リロードできないようにするには、どうすればよいか教えてください

Aベストアンサー

>JavaScriptを使えば出来そうなのですが
JavaScriptでリロードを制限することはできません。

>現在、CGIゲームを製作している者です
CGI側がいじれるならばCGIでなんとかするしかないと思います。

Qサイトのリロード間隔を選択できるようにしたいのですが?

java初心者です。
以下の記述でページ全体を一定間隔にてリロードを繰り返させています。★★★★★の部分がリロード間隔となりますが、その部分を1分、5分、リロード無し、といったようにボタンで選べるようにしたいのですが、何か方法はありますでしょうか?よろしくお願いしますm<_ _>m

<script type="text/javascript" language="javascript">
setTimeout("location.reload(true)",★★★★★);
</script>

Aベストアンサー

おっと!!  早とちりでしたぁ!! すんません。

質問文にちゃんと書いてあるのに、勝手に勘違いしちゃってました。
(リロードを繰り返すのですね。提示のものも、初期値を1分とかに設定しておけばリロードしますけど?・・・ってのでは、インチキかな)  ^^)ゞ

No3様のご指摘のは、うっかりしてました。ご指導ありがとうございます。
う~ん、設定変えたらキャンセルして・・ってやってると、いつまでたってもリロードしなくなっちゃう可能性も・・

・・ってことで、設定した内容でリロードを繰り返すように修正しました。
(長くなっちゃったけど・・)
*時間の計測は、ロードした時から始めますが、「なし」を設定すると一旦
 キャンセルされて、他の設定時に再計測となります。
*クッキーの有効期間を設定していないので、ブラウザが終了するまで
 有効となります。これを、次のときも有効にしたい場合は、有効期限を
 指定してクッキーを設定すればよいです。

<html>
<head>
<script language="javascript">
var delay=0; var cnt=0; var flg=false;

window.onload=function(){
if (document.cookie){
var ck = document.cookie + ';'; // クッキーから値を取得
var st = ck.indexOf('interval=');
if (st>-1){
var ed = ck.indexOf(';',st);
delay = unescape(ck.substring(st + 9, ed));
}
}
// セレクターをセット
var sl = document.getElementById('hoge');
var e = sl.options;
for (i=0; i<e.length; i++){
if (e[i].value==delay){sl.selectedIndex=i;}
}
set_timer(); //カウンターセット
}
function set_timer(){
if (!flg && delay>0){
flg=true;
cnt = 0;
t_id=setInterval('timer()',1000);
}
}
function timer(){
cnt++;
if ((delay>0) && (cnt>=delay*60)){location.reload(true);}
if (cnt>301){clearInterval(t_id); flg = false;}
}
function set(e){
delay = e.options[e.selectedIndex].value;
document.cookie = 'interval=' + escape(delay); // クッキーへ書き込み
set_timer();
}
</script>
</head>
<body>
リロード:
<select id="hoge" onchange="set(this);">
<option value="1">1分</option>
<option value="5">5分</option>
<option value="0" selected>なし</option>
</select>
</body>
</html>

おっと!!  早とちりでしたぁ!! すんません。

質問文にちゃんと書いてあるのに、勝手に勘違いしちゃってました。
(リロードを繰り返すのですね。提示のものも、初期値を1分とかに設定しておけばリロードしますけど?・・・ってのでは、インチキかな)  ^^)ゞ

No3様のご指摘のは、うっかりしてました。ご指導ありがとうございます。
う~ん、設定変えたらキャンセルして・・ってやってると、いつまでたってもリロードしなくなっちゃう可能性も・・

・・ってことで、設定した内容でリロードを繰り返...続きを読む

Qmeta nameとmeta http-equivの違い

検索エンジン用にページの特性を書き込んだのですが、上手くヒットしません。
そこで思い当たったのがmeta nameとmeta http-equivの使い方なのですが、
これらの違いはどういった所にあるのでしょうか?
使用する場合の注意点はありますか?
また、小文字ではダメなのでしょうか?お教えください。

Aベストアンサー

http-equiv サーバーが応答するときにヘッダに盛り込まれる情報です。
主に動作(MIME,文字コード等)の指定に使います。

name 特にこうとは決められていないらしいです。
主に文書に関すること(著者、概要等)を書きます。
ロボット検索に掛けたいときは、robots,keywords.descriptionを使います。
robotsでロボットを有効にして、keywordsに関連事項を書き連ねます。
ただ確実に認識するかどうかは、ロボットによってばらばらですので、正直わかりません。

>小文字ではダメなのでしょうか?
METAに限らず、AやらSCRIPTなどは大文字で書き、その他のnameなどは小文字でと推奨されていますが、動作に違いはないようです。


人気Q&Aランキング

おすすめ情報