No.1
- 回答日時:
どうしても同じページをリロードしたいのですか?
とりあえず別に似たようなページを作ればいいだけなら
別のページをリロードすればいいだろうし、
どうしても同じページにこだわるなら、cokkieでフラグをたてるのが簡単かな?
でも、このときはクッキー無効にしてる人がいることを考えてやらないと
大変なことになるからきをつけてね。
あとは、CGIなんかと連携してhiddenタグに埋め込んでおくとか。
No.3
- 回答日時:
根本的に1回だけリロード処理が必要な時点で
設計ミスのような気がするんですが・・
#JavaScript無効にしてあったらどーするんだろう、とか
とりあえず、他に思いついたのは
<script type="text/javascript"><!--
rload = setTimeout( "location.reload()", 100 );
clearTimeout( rload );
// --></script>
とかどうでしょう?
うまくいくような気はしますが未確認です(苦笑)
参考まで
この回答への補足
解答ありがとうございます
javaScriptが無効にしてあったらお手上げですね ^^;
ご指摘のように
setTimeoutで試してるのですが、上手くいきませんね
何故でしょうか????? (>_<)
No.4
- 回答日時:
こんばんわ。
私も、どうしても1回だけ、何のアクションも起こさずに
リロードしたいならクッキーを使うしかないと思います。
<body>onLoadを使うにしても、再読み込みが入ると永遠に
繰り返してしまいますからね。
要するに、どこかに変数なり、一度リロードしたと言うフラグを
持たないことには、永遠に繰り返されてしまうと思います。
count=getCookie("COUNT");
if(count==null){
setCookie("COUNT",1);
location.reload();
}
上の記述が正しいかどうかは、ちょっとわかりませんが、考え方として
クッキーから変数COUNTを取得し、countに代入する。
そんで、countがnullならまだリロードしてないので、クッキーに
COUNT=1と言うデータを保存する。
それから、リロードを入れると、2回目以降は、countがnullでないので
if文の中を通らないと言う風になる。(予定)
テストも何もしてないので、これで成功するかは、わかりませんけど
一つの考え方として提案させていただきました。
クッキー自体を無効にされたら、その地点でおしまいですけど^^;;
がんばってください。
No.5ベストアンサー
- 回答日時:
では、Cookieを使わない方法。
ちとダーティですが。<HEAD>
<SCRIPT LANGUAGE="JavaScript1.2">
function pageJump () {
if (!top.location.href.match(/\?1$/)) {
top.location.href += "?1"
}
}
//-->
</SCRIPT>
</HEAD>
<BODY onLoad='pageJump()'>
....
一度普通に読まれたとき、URLの末尾が「?1」でなければ、それを
くっつけてhrefに代入し、読みこみなおします。
"?1"は普通CGIへの引数ですが、通常のHTMLファイルがちゃんと呼び
出されます(エラーになりません)。単純に無視されます。
よって、一度呼ばれたことを表すフラグに使えます。
<A NAME=...>なんかで使う"#1"でもいいんじゃないの?、と
おっしゃる鋭いひともいらっしゃるでしょうが、これだとブラウザが単純に
「同じファイルの#1ラベルの場所…ないや、じゃあ先頭を表示しとこう」
と判断して表示は変化せず、サーバにアクセスしにもいきません。
「?1」無しと「?1」つきだと、別ファイルだと思って2度アクセスに
行きます。
No.6
- 回答日時:
javascriptではなく、
perlではどうですか。
location.xxx.cgiで読み込んで、
cgiがそのファイルを読み込むときに置換とか。
間違っていたらごめんなさい。
即席で作ったソースです。
$file_thanks ="./xxx.html";
print "Content-type: text/html\n\n";
open(BHTML,"<$file_thanks");
flock(BHTML,2);
while(<BHTML>) {
s/onlord=location.reload//;
print;
}
flock(BHTML,8);
close(BHTML);
これで読み込めば、出来るかも。ただ、これだとパスが
xxx.cgiになってしまうので、baseタグでも入れておけば
問題ないと思います。
やったことはないですが、SSIで呼び出しても出来るかも?
javascriptにこだわるなら、javascriptで、リファラーをとって???.com/xxx.html だったら置換するか処理をしない分岐を作れば問題ないでしょう。
cokkieはあまりすかれないので避けたほうが無難。
私は常にcokkieとjavascriptはオフにしています。
簡単な回答ですいません。
他に気づきましたらまた書きます。
No.7
- 回答日時:
akijiroさんの回答、なかなか参考になりますが、気になった点が
ありましたので失礼ながらちょっとコメントさせていただきます。
CGIスクリプトで切り分けるというのはいいアイデアですね。しかし、
URLを変えていいのでしたら、onlord=location.reload があるのと
ないのと、二つのほぼそっくりなHTMLファイルを用意すれば済む
話ですね。
それからサンプルのスクリプトですが、読みこむファイルにflockを掛けるのは
無駄だと思うのですが、なにか意味があるのでしょうか。
リファラーもいい方法に思えますが、ブラウザの中にはリロードした
ときにちゃんとdocument.refererを置きかえるかどうか、怪しいものが
あります。また、リロード時にundefinedになるのを期待するとしたら、
ブックマークで飛んできたときとの区別がつかないと思うのですが。
「専門家」ということでしたのでちょっとぐらい突っ込んでも平気だろう、
と思い、なんだか細かいことを指摘してしまいました。お気を悪く
されたらお詫び申しあげます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
ユーザーが更新ボタンを押さなくても自動的にリロードさせるには?
HTML・CSS
-
location.reload() について
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
contenteditableで編集した内容...
-
htmlのfileタグに自動で値を入...
-
JavascriptでのExcel起動について
-
ページを一回だけリロードさせ...
-
テキストファイルやcsvファイル...
-
csvファイルを読み込み、該当項...
-
フォルダを自動で開く
-
JavaScriptで ブラウザの閉じる...
-
VB.NET2003 テキストボックスに...
-
gas 全角数字を半角数字に変換
-
JSPの処理の途中で、JavaScript...
-
正整数の半角数字かどうか判定する
-
初心者です。gulpでコンパイル...
-
resizeToメソッドが動作しません
-
Ajaxが動きません~『status=0』?
-
Javascript 全角カナ+半角スペ...
-
ローカルのtest.txtを1行ずつ...
-
window.openがIEでエラーにされる
-
デザイン時のVisible=Falseは実...
-
CSJSとSSJSの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
csvファイルを読み込み、該当項...
-
htmlのfileタグに自動で値を入...
-
JSでファイル数取得
-
ページを一回だけリロードさせ...
-
JavascriptでのExcel起動について
-
テキストファイルの更新日時を取得
-
javascriptでフォルダ内のファ...
-
jsファイルを閲覧者がダウンロ...
-
動的ファイルの最終更新日を取...
-
JavaScriptでiframeの高さを自...
-
contenteditableで編集した内容...
-
javascriptの効かないサーバー...
-
外部ファイルからの値の取得
-
Win版IllustratorCS3でJavascri...
-
JavaScript(ライブラリ)のキ...
-
ファイルパスの取得について
-
<input type="file">のイベント...
-
ファイル出力(ログ)
-
正規表現でファイル名の抽出
-
ローカルフォルダにあるPHPファ...
おすすめ情報