WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:ブラウザの「更新ボタンの対応

水凪 [WriteDate : Mon Jun 18 14:00:27 2001]

連続で失礼します。

ブラウザの「×」ボタンでの終了時、「終了」ボタンの押下時と
別々のCGIを読もうと(1.CGI、2.CGI)以下のような
ソースを書いたのですがこれだとブラウザの更新ボタンが押下されると
CGIが起動してしまいます。
これを回避したいのですが私がいくら修正してもうまく起動できません。
これを回避するためにはどういった方法を取ればいいのでしょうか?

皆様のご意見お待ちしております。

*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
<HTML>
<HEAD>
<TITLE>終了テスト</TITLE>
<SCRIPT Language="JavaScript">
<!--
var EndFlg=1;
function Bot_Click(Num){
 switch(Num){
   case 0:
     EndFlg=0;
     break;
   case 1:
     EndFlg=2;
     self.window.close();
     break;
   case 2:
     window.open("focus.html", "newWin", "alwayRaised=yes,menubar=yes,toolbar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=yes,width=600,height=300");
     break;
 }
}

function Unload_Program(){
 switch(EndFlg){
   case 0:
     alert("CGIを起動しません。");
     break;
   case 1:
     location.href("1.cgi");
     bleak;
   case 2:
     location.href("2.cgi");
     bleak;
   default:
     alert("その他");
 }
}
//-->
</SCRIPT>

</HEAD>
<BODY BGCOLOR="RoyalBulue" onUnload="Unload_Program()">

<FORM METHOD="POST" ENCTYPE="○"ACTION="△">

<INPUT TYPE="file" SIZE=70 NAME="upload1"><br>
<INPUT TYPE="submit" VALUE="転送開始" onClick="Bot_Click(0)">
<INPUT TYPE="reset"  VALUE="初期化">
<INPUT TYPE="button" VALUE="終了" onClick="Bot_Click(1)">
<INPUT TYPE="button" VALUE="前面テスト" onClick="Bot_Click(2)">

</FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="/servlets/UploadTest">
</BODY>
</HTML>


!!! [WriteDate : Tue Jun 19 09:06:36 2001]

とりあえず、ブラウザの「×」と更新ボタンでの処理の切り分けは、
JavaScriptでは、無理みたいです。たぶん。
かといって、回避策は、思いつきません...。だれかよろしく...。


水凪 [WriteDate : Tue Jun 19 16:24:53 2001]

JavaScriptで、ということは他の何かを使用すれば
切り分けが可能、ということなのでしょうか?


水凪 [WriteDate : Thu Jun 21 17:13:15 2001]

質問です。
皆様からの回答をいただき以下のようにソースを修正したのですが
「×」ボタン押下時のEndFlgが起動時に”1”を代入しているにも関わらず
何故だか”0”になってしまいます。
これはどういった理由からなのでしょうか?

ご意見お待ちしております。

*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+

<HTML>
<HEAD>
<TITLE>取込み処理を行うファイルを選択してください。</TITLE>
<!--    Java Script    -->
<SCRIPT Language="JavaScript">
<!--
window.resizeTo(500,300);
var EndFlg=0;                // 0:CGI起動無し 1:「×」ボタン押下時 2:終了ボタン押下時
var wkFocus='Dammy';            // ダミーの子ウィンドウ名を初期値に設定
<!-- 各ボタンが押下されたときの処理    -->
function Bot_Click(Num){
 switch(Num){
   case 0:
     break;
   case 1:
     EndFlg=2;
     self.window.opener = "Dammy";    // IEで確認ダイアログを表示させない為の処置
     self.window.close();
     break;
   case 2:
     wkFocus = window.open("focus.html", "newWin", "menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,width=600,height=300");
     break;
 }
}
<!-- 親ウィンドウが閉じられたときの処理    -->
function Unload_Program(){
 <!-- 子ウィンドウが開かれているか確認    -->
 if(wkFocus.closed == false){
   alert('親ウィンドウが開いてるよ〜〜。');
 }
 else{
   switch(EndFlg){
     case 0:
       alert("CGIは起動しません。");
       EndFlg=1;
       break;
     case 1:
       alert("「×」ボタンが押下されましたっ。");
       bleak;
     case 2:
       alert("終了ボタンが押下されましたっ");
       bleak;
     default:
       alert("その他");
   }
 }
}
//-->
</SCRIPT>

</HEAD>
<BODY BGCOLOR="RoyalBulue" onUnload="Unload_Program()">
<H3>取込み処理を行うファイルを選択してください。</H3>
<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="/servlets/UploadTest">
<INPUT TYPE="file" SIZE=70 NAME="upload1"><br>
<p align="center">
<INPUT TYPE="submit" VALUE="転送開始" onClick="Bot_Click(0)">
<INPUT TYPE="reset"  VALUE="初期化">
<INPUT TYPE="button" VALUE="終了" onClick="Bot_Click(1)">
<INPUT TYPE="button" VALUE="前面テスト" onClick="Bot_Click(2)">
<INPUT TYPE="button" VALUE="alertテスト" onClick="alert('練習')">
</p>
</FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="/servlets/UploadTest">
</BODY>
</HTML>

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World