トップ回答者
ファイルダウンロードコンボボックスのイベント取得について

質問
-
はじめまして。
ASPとJavascriptで作成したWebシステムで教えていただきたいことがあります。
Web画面から帳票を作成しています。
その帳票を作成する際に、blankのブラウザを作成し、その中にExcel形式の帳票を
作成しています。
ファイルのダウンロードを行う際、MS標準のファイルダウンロードコンボボックスが
起動しますが、
「開く」 を選択した場合、blank画面に、帳票が作成されます。(正常に動作する)
「保存」「キャンセル」を選択した場合、blank画面が残ってしまいます。
「保存」「キャンセル」時には、blank画面を閉じたいのですが、
制御は可能でしょうか?
お手数をおかけしますが、ご教授いただければと思います。
よろしくお願いします。
<HTML>
<HEAD>
<TITLE>Test6</TITLE>
<META http-equiv="content-type" content="text/html; charset=shift_jis">
<META http-equiv="Content-Style-Type" content="text/css">
<META http-equiv="Content-Script-Type" content="text/javascript">
<SCRIPT type="text/JavaScript"><!--
var wnd;
function wndOpn(){
wnd = window.open("","sample");
if(wnd.location.href.indexOf("sumple.xls")<0){
wnd.location="sumple.xls";
wnd.focus();
}else{
alert("二重起動禁止");
}
}
//--></script>
</HEAD>
<BODY>
<INPUT type="button" name="bnt" value="出力" onclick="wndOpn()"><BR>
</BODY
</HTML>
回答
すべての返信
-
tomo_no.12 さん、こんにちは。
tomo_no.12 さんからの引用 ファイルのダウンロードを行う際、MS標準のファイルダウンロードコンボボックスが起動しますが、
"ファイルダウンロードコンボボックス" とは何のことでしょうか?
"ファイルのダウンロード ダイアログ" の誤りでしょうか?
「開く」 を選択した場合、blank画面に、帳票が作成されます。(正常に動作する)「保存」「キャンセル」を選択した場合、blank画面が残ってしまいます。
そもそも window.open で開いていること自体がまずいのではないでしょうか。
本来はユーザーの自由としたいところですが、どうしてもというのであれば、target="_blank" の方がまだマシかもしれませんね。 -
サンプルソースちょっと違うかもしれないけどwindow.openで開いた画面を
↓時間
setTimeout("Kill()", 10000);
後にcloseしてます。
↓
function Kill()
{
setTimeout("Kill()", 10000);
top.close();
}------------------------------------------------------------------------------------------
<HTML>
<head>
<title>ダウンロード</title>
<script language="JavaScript">
<!-- Code hiding from here
function Open()
{
setTimeout("Kill()", 10000);
data = window.opener.document.forms[0];
window.location.href = data.downloadpath.value;
}
function Kill()
{
setTimeout("Kill()", 10000);
top.close();
}
// end -->
</script>
</head>
<body onLoad="Open()">
</body></html>