複数のフレーム間でデータを受け渡し、その度に最新のデータを表示する
画面を作っています。
そのフレームでのファイル呼び出しが時々おかしいのです。
フレームの構造は
(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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
Windows10にデュアルブートでXP...
-
エクセルに張り付けた写真のフ...
-
高校1年生情報の問題について。
-
キヤノン アソビカメラ iNSPiC ...
-
PS4で、「バージョン5.05以上の...
-
VB.NET Excelを読み込んでDataT...
-
vba 空のデータをSplitする時の...
-
phpのファイルがブラウザで開か...
-
VBAのRegExpで後方一致/不一致...
-
VbScriptでExcel操作待ちモード...
-
SPO2測定
-
エクセルのマクロについて教え...
-
インドe-Visa 承認書のApplicat...
-
SPIの非言語の割合と比が難しく...
-
SPIの対策は参考書でやるべきか?
-
LEDで電光掲示板に「A B C D E...
-
One Driveへのアクセス
-
LINE APIからasp.net の web サ...
-
Windows10エンタープライズ版をインス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GridViewからテンプレートフィ...
-
隠しフィールドをVBScriptでの...
-
「a.v.v」「iiMK」の...
-
Response.Redirectで引数2つの...
-
ASP.NET 2.0 GridViewの更新ボ...
-
GridView表示の高速化
-
【ASP.NET】 ログインコントロ...
-
ページを一度更新しないとSessi...
-
Tableを動的に増やしたい。
-
<ASP.NET>DataGridでOnSelected...
-
クリッカブルマップを利用したA...
-
Panelを重ねる方法
-
ASPへのデータの受け渡しについて
-
AutoPostBackにしているが、う...
-
ASPからASPを呼び出す方法
-
GridView リンク
-
ASPでpingを飛ばす事は、可能で...
-
ASP.NETの拡張子はなぜ「asp」...
-
時々処理が呼ばれない
-
ページの更新内容が反映されない。
おすすめ情報