- PR -

ASP.NET 別ウィンドウを閉じたい

1
投稿者投稿内容
なつ
会議室デビュー日: 2005/08/18
投稿数: 18
投稿日時: 2005-09-09 15:47
こんにちは。教えて下さい。

フレーム画面の中に画面A、画面Bがあります。
画面BからボタンをクリックしたときにJAVA SCRIPTによって別ウィンドウを開く
のですが、この別ウィンドウを画面Aから閉じたいと思います。
しかし別ウィンドウの情報を取得することができず、閉じることができません。
どなたか別ウィンドウを閉じる方法をご教授下さい。

葉瀬崎浩樹
大ベテラン
会議室デビュー日: 2005/06/28
投稿数: 115
お住まい・勤務地: 兵庫県
投稿日時: 2005-09-09 15:55
"別ウィンドウを閉じろ"というメッセージを、
A画面からB画面に送れませんか?
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-09-09 15:59
開くときの別ウィンドウ名称が固定ならば、下記手順で閉じることができます。
1.urlブランク、ウィンドウ名を画面Bで設定したものにして
画面Aからwindow.open();する。
2.1の戻り値のウィンドウハンドルでCloseする。

ex.
[画面B]
window.open("http://hoge.co.jp","hogehoge");

[画面A]
hdl=window.open("","hogehoge");
hdl.window.close();


[ メッセージ編集済み 編集者: でっち6号 編集日時 2005-09-09 16:07 ]
なつ
会議室デビュー日: 2005/08/18
投稿数: 18
投稿日時: 2005-09-09 16:08
>葉瀬崎さま
どのように操作するのでしょうか?
初心者ですみません。

>でっち6号さま
その方法は試してみたのですが、画面Aから別ウィンドウを閉じる操作をする際に
別ウィンドウは必ず表示されているわけではないのです。
別ウィンドウが表示されていないときに教えて頂いた方法を実行すると一瞬だけ
空の別ウィンドウが表示されて消える。という感じになってしまい断念しました。
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-09-09 16:51
没りましたが、画面Aで開くとき画面外に開けば良いのですよ、と足掻いてみる
hdl=window.open("","hogehoge","top=10000,left=10000");

で、葉瀬崎さんではありませんが、
画面Bに閉じる用の関数を用意しておき、画面Aからその関数を呼ぶ、と言う意味だと思います。

コード:
◎画面B
var hdl;
function winopen(){
	hdl = window.open("http://hoge.co.jp","hogehoge");
}
function winclose(){
	if (hdl==null || typeof(hdl.window)!="object" || hdl.window.closed){
		return;
	}
	hdl.window.close();
}

◎画面A
parent.[画面Bのフレーム名].winclose();



ただし、画面BがPostBackしたりすると、hdlの情報が落ちるので当然閉じれなくなります。Hiddenに入れるなどして保持できるかは実験してません。
なつ
会議室デビュー日: 2005/08/18
投稿数: 18
投稿日時: 2005-09-09 17:20
ありがとうございます。
無事に
parent.[画面Bのフレーム名].winclose();
で画面Bの関数にアクセスできました!

助かりました!
1

スキルアップ/キャリアアップ(JOB@IT)