WEB相談室

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

タイトル:サブウインドウのクローズ

0:[投稿] 上村 [2002/10/09 11:28 ][環境:WIN+IE UNIX系+Java]

はじめまして。
下記のようにエクセルファイルをwindow.open()でサブウインドウとして開いて、subwin.close()で閉じたいのですが思うように動作しません。
何がよくないのでしょうか?上手く動作させるにはどういった方法があるのでしょう。
ご存知の方、教えてはいただけませんか?(環境:Win2k+IE5.5)

<html>
<script language="javascript">
<!--
window.subwin = "";
function html_open() {
 if( window.subwin.closed != false ) {
   window.subwin = window.open("sample.html","SUBTEST");
 }
}
function excel_open() {
 if( window.subwin.closed != false ) {
   window.subwin = window.open("sample.xls","SUBTEST");
 }
}
function sub_close() {
 alert( "closed? = " + window.subwin.closed );
 if( window.subwin.closed == false ) {
   window.subwin.close();
 }
}
// -->
</script>
<body><form>
<input type="button" value="html"  onClick="html_open();">
<input type="button" value="excel" onClick="excel_open();">
<input type="button" value="close" onClick="sub_close();">
</form></body>
</html>


1:[回答] JTR [2002/10/11 09:02 ]

確認しました。しかし...
http://www.parkcity.ne.jp/~chaichan/qanda/qa3242.htm?#r6
ということで、エクセルファイルを読み込んだ時点で、JavaScriptの制御から離れてしまう感じです。


2:[回答] Malic [2002/10/11 11:12 ]

>1 そうですね。他のアプリが起動しているウインドウはJavaScriptじゃ制御できませんよね・・・。

見た目が少し変わって良いなら、エクセルを表示する場合は、フレーム分割する手はありますが。

ここの関数の呼び出すファイルをHTMLに変えて

function excel_open() {
if( window.subwin.closed != false ) {
  window.subwin = window.open("sample2.html","SUBTEST");
//   window.subwin = window.open("sample.xls","SUBTEST");
}
}


下記のようなsample2.html を用意する

 <HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=x-sjis">
<TITLE>tesuto</TITLE>
</HEAD>
<frameset cols="1,*" border="0" framespacing="0" frameborder="NO" bordercolor="white">
 <frame src="/test/dummy.html" name="menu" marginwidth="0" marginheight="0" scrolling="NO">
 <frame src="/test/sample.xls" name="main">
</frameset>
<noframes>
 <body>
 </body>
</noframes>
</HTML>

尚、dummy.htmlは空白ページ。


3:[質問] Malic [2002/10/11 11:19 ]

適当なファイルこぴったので、いらない文はいってます(^^;

質問は、
<frameset cols="1,*"  ・・・ 

colsの値に「0」を指定してもIE、ネスケとも動作しますか?

ネスケでも、0が指定できれば、見た目は全く変わりませんが。


4:[回答] Malic [2002/10/11 11:42 ]

質問事項はテストした結果、意味無いものでしたので、撤回します・・・。

(ネスケ7.0、4.6,4.7 でテストしたら 子ウインドウが、さらに別ウインドウでエクセルを立ち上げてました・・・)


5:[完了] 上村 [2002/10/11 15:54 ]

ご回答ありがとうございます。
確認してみました、納得です。
制御が離れてしまっているならこのオブジェクトにメッセージを投げても意味がないですよね。
操作の変更も含めて別な方法を考えることにします。
お付き合いいただきましてありがとうございました。
大変参考になりました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World