初めて質問させていただきます。
よろしくお願いします。
HTMLでフレーム分割された画面を作成しています。
FrameSetの中で2つのFrameに分かれており、
一方のFrameの画面が表示された後に
もう一方の画面を表示するという仕様です。
一方のframeのsrcとなるHTMLのonloadイベントにて
javaScriptでもう一方の画面のURLを切り替えるという方法をとっていますが、
Windows2000のIE5.0で表示させた場合のみ、
IEが時々異常終了してしまいます。
(※外部公開向けシステムなので
基本的にはどのバージョンのIEでも
動くようにしておく必要があります)
下記にHTMLのソースの抜粋と
エラー発生時のWindowsイベントログを添付します。
エラーが発生する原因及び回避方法等ありましたら、
ご教授いただけませんでしょうか?
どうかよろしくお願いいたします。
(Frame親画面の抜粋)
<frameset rows="90,*" frameborder="yes"
cols="*">
<frame name="topFrame" scrolling="auto" src="A.cgi">
<frame name="bottomFrame" src="empty.html">
</frameset>
※empty.htmlは<body>の中が無いダミーHTML
(A.cgiによって作られるHTMLの抜粋)
<body onload="parent.bottomFrame.location.href='B.cgi';">
※サーバ側のログを見ると、
B.cgiのサーバ側処理は正常に終了しています。
※onloadイベントの処理をはずすと
異常終了しなくなります。
(サーバ側の動作環境)
OS:Solaris8
WEBサーバ:apache 1.3.27
CGI:Perl 5.005_03
(イベントログ)
イベントの種類: 情報
イベント ソース: DrWatson
イベント カテゴリ: なし
イベント ID: 4097
説明:
アプリケーション iexplore.exe がアプリケーション エラーを起こしました。
06/24/2005 14:30:16.182 にエラーが発生しました。 発生した例外: c0000005 アドレス 00000001 (<nosymbols>)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No3さんもおっしゃってますが、この段階ではとにかく論理的にテストを繰り返して原因(不具合が起きる条件)を探るしかありません。
onloadを外してみたら、とかb.cgi以外のファイルを読み込んでみたら、という案は、その条件を一つ一つ絞り込んでいく作業に他なりません。方法を工夫してでも、行うしかない事です。先の質問に回答しているので、b.cgiを遅らせる必要がある事情などはわかっていますが、この局面ではテストが必要な局面ですのでNo3さんが言ってる通り、同じ表示をする静的HTMLファイルを使ってでもテストはして下さい。テストなので完璧な動作に捉われる必要はなく、表示上(ブラウザに対する同一性)同一である事が重要です。とにかく、少しづつ状況を変えてテストを繰り返し、どのような条件であれば発生して、どこが違えば発生しなくなるのかを絞り込んでいくんです。この段階では「これは問題ないはず」という思い込みは間違いの元です。とにかくテスト、これしかありません。onloadを使わない方法であれば、先の質問に対する回答で、フレーム定義ページでSESSION変数の保存等をする事で実現できます。JavaScriptも使わずに済みますし、この方が確実な処理かな、とは思います。
No.3
- 回答日時:
全部提示するか、ご自分で調べるかどちらかです。
まずトラブルが起きているのですから
そのまま表示しているだけとか判断するのはやめましょう。
書き間違えとか知らなかったとか、
とにかく原因が特定できずに質問しているという事と
トラブルはとにかく起きているという事を重視しましょう。
で、まずはとにかく場所を特定しましょう。
それから出来れば単体テストをしましょう。
テストが出来ないならばそれは、正しく動く実績もないという事ですが、ご理解してますでしょうか。
(外部公開向けシステムならなおさらテストをしないと・・・)
A.cgiがサーバに出力すると思われる(予定されている)ファイルをテキストエディタでも作成してアップすれば良いだけのはずです。
その状態でブラウザにアドレス直でB.cgiを呼んでみればまずB.cgiの単体テストが出来ます。
他に
A.cgi を A.htm と CGI でなく HTML としてその HTML を
<body onload="parent.bottomFrame.location.href='C.htm';">
の様に HTML を置く様にしてみる。
これにより動作の流れが対応しているのかの検証が出来る。
これで問題がない場合は、CGIの処理(結果)に問題があると思われます。
尚、申し訳ございませんが
当方には IE5 の環境がないので
全ては知識等頭の中の事で
一切検証できていません。
(一応、IE6 で同等の調べ方のデモはしましたが・・・。)
意外とB.cgi が読む A.cgi の書き出す内容に想定外があったりして、
それにより不適切な JavaScript を含む内容を出力している可能性もあります・・・。
No.2
- 回答日時:
アプリケーションエラーは厄介ですね。
IE5 アプリケーションエラーでgoogle先生に聞いてみると、JavaScriptのdate関数などでこれが出るようなケースは見つけたんですが・・・。恐らくサーバー側の問題ではなく、クライアント環境の問題で間違いないと思います。そしてonloadイベントを外すと正常に動作するというのがポイントっぽいので、フレームで最初からB.CGIを指定してみたらどうなるのか、onloadイベントでb.cgiを呼ばずに別のページをロードしても起こるのか、など一つづつ条件を変えていけば、起こる特定の条件が絞り込めると思います。ある程度絞り込めた時点でgoogleなどを検索したりして、それでも解決しなければMSのサポートという事になるかと思います・・・が、IE5ってまだサポートされてたかな(^^;。
この回答への補足
ご回答ありがとうございます。
フレームで最初からB.cgiを指定するのがノーマルなパターンかと思っています。しかし今回、A.cgiがサーバ側に出力したファイルの内容を読み込みながらB.cgiの処理を行うため、両CGIがサーバ側で動作するタイミングをずらす必要があります。(サーバ側の仕様は、業務の都合上、変更不可)
onloadイベントの中でbottomFrameのlocationを変更する点に問題があるのでしょうか?(但しIE5のみ)
A.cgiが作るHTMLのonloadイベント以外に、bottomFrameの切り替えを行える方法があれば、ご教授いただけますでしょうか。
※ちなみにMSのホームページを見ると、IE5は既にサポート外みたいでした(涙)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- Visual Basic(VBA) Edge操作のアプリが例外発生に 1 2023/03/12 21:22
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラーの意味がわかりません
-
XHTML、GETで値を渡す
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
MT/カスタムフィールドでのPDF...
-
FTPにて553エラー
-
ラジオボタンのグループ化
-
WEBデザイナーの方にお聞きした...
-
ApacheでのCGIについての質問
-
CGIでソースがそのままでてしま...
-
燃焼熱
-
cgi perl 同じ変数で一つはカン...
-
CGIで外部のPHPを実行するには?
-
CGIの起動が遅い
-
ASP(IIS?)のエラーについて
-
JAVAで別サーバーのファイルの...
-
カタカナを英語やフランス語に...
-
ブラウザゲーム作成の考え方。
-
URLに~/cgi-bin/~を隠す方法
-
VBAでサーバーにアクセスするに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラーの意味がわかりません
-
画像アップ時のエラー
-
CGIエラー、どうしたらいいか・...
-
CGIでの500エラー
-
CGI(HTTP://dbgw_relay.cgi)の...
-
FC2へのCGIメールフォーム設置
-
KENT-WEBのclipmailで文字化け
-
jsRSS++の設置について
-
シグマリオン(3)に英辞郎(PD...
-
まったくわかりません。お手上...
-
infoseekのホームページにCGIを...
-
cgiで作成されたwebを、cgiの知...
-
KENT WEBのTOPICS BOARDを改造...
-
CGI cgi-bin 動かない エ...
-
W3Cの合格基準について、ご質問...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
URLに~/cgi-bin/~を隠す方法
-
CGIでソースがそのままでてしま...
-
FTPにて553エラー
おすすめ情報