子ウィンドウを閉じる
今、チェックボックスにチェックを入れると
javascriptで子ウィンドウを開き
pdfファイルをダウンロードできるようにしています。
*********************************
check.html でのjavascript
function down() {
if (document.f1.file001.checked == true) {
newwin = window.open( "down.php?date=data1" ,"_blank","width=100,height=100");
}
if (document.f1.file002.checked == true) {
newwin = window.open( "down.php?date=data2" ,"_blank","width=100,height=100");
}
if (document.f1.file003.checked == true) {
newwin = window.open( "down.php?date=data3" ,"_blank","width=100,height=100");
}
if (document.f1.file004.checked == true) {
newwin = window.open( "down.php?date=data4 ,"_blank","width=100,height=100");
}
}
************************************
子ウィンドウで開く down.php
<?php
//ダウンロードするファイル
$files = $_GET[date];
//ディレクトリ名
$datedir = "file/";
//拡張子
$filetype = ".pdf";
// ダウンロードさせる元ファイル
$filepath = "{$datedir}{$files}{$filetype}";
// 保存時のファイル名(デフォルト)
$filename = "{$files}{$filetype}";
// HTTPヘッダ送信
header("Content-length: " . filesize($filepath));
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=\"{$filename}\"");
// ファイルを読み込んで出力
readfile($filepath);
fclose($filepath);
?>
***************************
これだとファイルのダウンロードはできるのですが
子ウィンドウが残ってしまいます。
javascript で
setTimeout("newwin.close()", 8000);
と子ウィンドウを閉じるようにしていても
閉じてくれません。
どうすれば、子ウィンドウを閉じることができるでしょうか?
また閉じれない場合は、子ウィンドウに閉じるボタンを
つけたいのですが down.php には
header関数でファイル出力をしている為
その後にhtmlを書いても無効になります。
親ウィンドウの方から子ウィンドウに文字を出させることは
できるでしょうか?
補足
あっ…まさにそれです!図説でとても分かりやすく助かりました…。 ありがとうございます!