フレームを使用しているwindowを閉じるには

[上に] [前に] [次に]
jinro 1999/11/06(土) 13:29:36
フレーム分割しているwindowをhtml上に配置したボタンからjavascript(他の方法があるならそれでも良いのですが・・・)で閉じようとしているのですがうまくいきません。どのように記述すればよいのでしょうか?

Mugi [E-Mail] [HomePage] 1999/11/06(土) 14:01:13
parent.close() とか、 top.close() でいいと思います。

jinro 1999/11/06(土) 17:46:01
すばやいレスありがとうございますm(__)m
無事閉じることができましたが、過去ログでも話題に上がっていたメッセージが表示されてしまいます。
../199907/99070288.htm
そこで自分もopen()を使用してオープンしようとしたのですが、
フレームを使用している場合、分割を定義しているindex.htmlのsrc=の部分にopen()を記述すればよいのでしょうか?どうもうまくいかないもので・・・。
現時点では以下のようになっているのですが・・・。
    <frameset rows="16%,*,30%" frameborder="no">
        <frame src="A.html" name="title" scrolling="no">
        <frame src="B.cgi"  name="data"  scrolling="auto">
        <frame src="C.html" name="rogo"  scrolling="no">
    </frameset>

Mugi [E-Mail] [HomePage] 1999/11/06(土) 18:55:49
> 分割を定義しているindex.htmlのsrc=の部分にopen()を記述すればよいのでしょうか?
> 現時点では以下のようになっているのですが・・・。
???
window.openの使い方を聞いているのでしょうか?
window.open("index.htm","ウィンドウ名","[オプション]")
みたいにすればいいですけど。

# window.open()を使わなくてもsetIntervalやsetTimeoutを使って
 必ず閉じさせるようにすることはできますけどね。

jinro 1999/11/08(月) 01:52:54
open使わなくても閉じる事が可能であるならそのほうが良いので
そっちで進めようと思います。
貴重な意見ありがとうございます。
が、setIntervalやsetTimeoutって指定時間の処理を行うんですよね?
これをどう使えばwindow閉じられるのでしょうか?
質問ばかりですいません。

Mugi [E-Mail] [HomePage] 1999/11/08(月) 08:18:29
この方法、ユーザーは怒るかも。(^^;
こんなかんじ。
<input type=button value=close onclick="setInterval('window.close()',0)">

古いブラウザも対象なら、setIntervalが使えないので関数を作る。
<script>
function forceclose(){
window.close()
setTimeout("forceclose()",0)
}
</script>

呼び出すときは、onclick="forceclose()" など。

Mugi [E-Mail] [HomePage] 1999/11/08(月) 08:45:21
↑ window.closeはtop.closeなどに置き換えてください。

jinro 1999/11/08(月) 11:31:51
ご指導ありがとうございます。早速やってみたのですがウィンドウは閉じるのですが、出力されるメッセージがどうしても出てしまいます。
うーんこのメッセージ非表示にできないものでしょうか・・・。

Mugi [E-Mail] [HomePage] 1999/11/08(月) 18:15:23
> 出力されるメッセージがどうしても出てしまいます。
メッセージが出るけど、閉じるのをキャンセルできないでしょ。
この方法はそういう意味では卑怯ですよね。(^^;;;

知ってのとおり、メッセージがでないのは、window.openで新しく開かれたウィンドウだけです。

jinro 1999/11/08(月) 18:45:31
[[解決]]
そうですか・・・。わかりました。
いろいろ教えてくれてどうもです。助かりました。
ありがとうございます!でわでわ。

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