window指定にopen()関数の戻り値を用いる?

[上に] [前に] [次に]
うーりえ [E-Mail] 1998/09/16(水) 15:54:47
JavaScriptの[window.]指定について
小窓など新規に開いたウィンドウを指定する場合
top, self, parentやウィンドウ名では指定できませんよね?
そこでとほほのJavaScript入門を読んだところでは
open()関数の戻り値を使用できるとあるので
それでopen()で新規に開かれた別ウィンドウを指定してやれるのでは、と
思うのですが

どなたか具体的な文法をお教え下さい。
例えば[window.]closedの[window.]に
(test)という名前の小窓を指定するにはどう書けば良いのでしょう?

匿名希望 1998/09/16(水) 16:20:48
別ウィンドウに「test」という名前を付けて開いて、
それを元ウィンドウに設置したボタンで閉じる、ということでしたら

(HEADタグ内)
<SCRIPT LANGUAGE="JavaScript">
<!--------
var w;
function openwin(){      ↓これが新しいウィンドウの名前
w=window.open("newwin.html","test","width=200,height=200")
}
//-------->
</SCRIPT>

(BODYタグ内)
<FORM>
<input type="button" value="testを開く" onClick="openwin()">
<input type="button" value="testを閉じる" onClick=w.close()>
</FORM>

じゃないでしょうか。

見当違いだったらすいません。


うーりえ 1998/09/16(水) 22:42:07
すいません説明がわかりづらくて。
[window.]closedはウィンドウを閉じるのではなくて
閉じているかどうかを判定するものなんです。
例えば小窓(test)を開いていたとして
それを重複して開くことのないように判定したかったのです。

ただopen()の戻り値を用いるということが
var w;
w=window.open("***.html","test","***")
として
w.closed
と使えるのであれば、それが答えですね。

ただ、開いてすぐ判定するわけじゃないので
開いた後、再びそのページを読み込んで判定した場合どうなんでしょう。

上記のスクリプトでは
function openwin()を実行しなくとも
w=window.open("***.html","test","***")は
有効なのでしょうか?

とりあえず試してみます。

うーりえ 1998/09/16(水) 22:45:42
↑重複して開くことのないように
というのは、もちろんウィンドウ名が同じなのですから
重複して開くことはありませんが

重複して開く『動作をさせない』ようにと言う意味です。
内容を途中で変えているので
再読み込みされて元のhtmlに戻っては困るということで。

うーりえ 1998/09/17(木) 03:21:26
[[解決]]
ちょっと自分でもごちゃごちゃしてきたので
違うタイトルで質問しなおします。

わざわざ答えて下さった匿名希望さん、ありがとうございました。

[上に] [前に] [次に]