複数のフレーム間でデータを受け渡し、その度に最新のデータを表示する
画面を作っています。
そのフレームでのファイル呼び出しが時々おかしいのです。
フレームの構造は
(A.asp内のソース)
<frameset cols="260,*">
<frame src="B.asp?ID=<% =ID %>" name="left">
<frameset rows="102,*">
<frame src="C.asp" name="upper">
<frame src="D.asp" name="bottom">
</frameset>
</frameset>
そしてD.aspでは<iframe src="F.asp"></iframe>と
更に別ファイルを表示させています。
値渡しの流れは
【C.asp】
(1)Submitボタンで自画面に遷移、エラー処理終了
(2)window.open('E.asp','_self');
(3)E.aspに遷移
↓
【E.asp】
(1)Submitボタンで自画面に遷移、エラー処理
(2)window.open('C.asp?Mode=2','_self');
(3)C.aspに遷移
↓
【C.ASP】
(1)Mode=2を受け取れば
(2)window.open('D.asp','bottom');
これをupperで繰り返しています。
D.aspは最初のA.asp表示時にbottomに表示され、
以降はC.asp?Mode=2の時にのみ呼び出されます。
CとEには入力項目がそれぞれ1つあり、Enterキー押下・チェック処理終了後に
window.openで遷移先に移ります。
E.aspからC.aspに遷移すると、自動的にD.aspも呼び出されるはずなのに
時々呼び出されないという現象が起きます。
この現象はC・Eの入力・Enterをすばやく繰り返すとよく起きます。
ゆっくりすると全く起きませんが、ひどい時には3回に1回起きます。
クライアント1台でも起きるので、サーバの負荷とは関係ないようです。
長々とややこしい説明でしたが、どなたかわかる方教えてください!!
No.1ベストアンサー
- 回答日時:
原因はよく分かりませんが、D.aspのキャッシュが読み込まれているか、処理の時間差によるものではないでしょうか。
キャッシュが読まれているなら、繰り返しの操作で常に起こっているはずですが・・・念のためD.aspには
Response.Expires = -1
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-control", "no-store"
と最初に記述してみては?
Javascriptの処理時間による問題であれば、処理の流れを少し変えればよいと思います。
Modeが2の時は、直接E.aspを開かず、D.aspを開く。
D.aspのOnLoad時にE.aspを開く様にすれば、D.aspが開かない限りE.aspは開かないことになると思います。
回答ありがとうございます。
・・・できました~!!
D.aspとさらにF.aspにも記述してみましたところ、正常に動作しました。
キャッシュさせないように、全てのASPファイルの<HEAD>部分に
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=x-sjis">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
と書いていたのに、なぜキャッシュが読み込まれていたのか謎ですが、動いたのでぃ良し(笑)!
『時々処理が呼ばれない』と件名に書きましたが、
正常に動いたソースを前にして落ち着いて考えると
どうやら実際にはちゃんと呼ばれていたようです。
F.aspでキャッシュが読み込まれて前のデータが表示されていた為、
呼ばれていないように見えたようです。
大変助かりました。ありがとうございました。
また機会がありましたら教えてください(ペコリ)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
キヤノン アソビカメラ iNSPiC ...
-
onedrive にexcelファイルをア...
-
phpのファイルがブラウザで開か...
-
エクセルに張り付けた写真のフ...
-
バッチファイルで電卓作ったの...
-
VBAでPDF作成をしたあと、指定...
-
PS4で、「バージョン5.05以上の...
-
バッチで当日日付で作成される...
-
Windows10にデュアルブートでXP...
-
VB.NETでMSComm が追加できず?
-
スイッチが二台あり、別々のア...
-
Excel 条件集計
-
python3 足し算の問題
-
SPO2測定
-
高校1年生情報の問題について。
-
エクセルのマクロについて教え...
-
インドe-Visa 承認書のApplicat...
-
SPIの非言語の割合と比が難しく...
-
SPIの対策は参考書でやるべきか?
-
LEDで電光掲示板に「A B C D E...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ページの更新内容が反映されない。
-
隠しフィールドをVBScriptでの...
-
Response.Redirectで引数2つの...
-
GridViewからテンプレートフィ...
-
SqlDataSource SelectCommand ...
-
Tableを動的に増やしたい。
-
「a.v.v」「iiMK」の...
-
ASPでpingを飛ばす事は、可能で...
-
GridView表示の高速化
-
【ASP.NET】 ログインコントロ...
-
ASPからASPを呼び出す方法
-
Panelを重ねる方法
-
asp.net でのドロップダウンリ...
-
時々処理が呼ばれない
-
<ASP.NET>DataGridでOnSelected...
-
ASPへのデータの受け渡しについて
-
ビデオテープに貼るラベルシー...
-
北原化粧品をお使いの方へ
-
UpdatePanel と GridViewについ...
-
javascriptでRadioButton操作
おすすめ情報