フレームを使用した画面でwindow.openされた画面を
フレーム分けした画面(Frame.asp)が閉じたら、すべて閉じたいと
思っています。onunloadイベントで制御を行うのは
わかりましたが、その先、どのようにコーディングすれば良いか
わかりません。ご教授ください。
Frame.asp
<FRAMESET Cols="267,*" frameborder="0" onunload="">
<FRAME NAME="menuFrame" SRC="1.asp" NORESIZE SCROLLING="auto">
<FRAME NAME="mainFrame" SRC="2.asp" NORESIZE SCROLLING="auto">
2.asp
function viewtxtMsg{
subWin = window.open(strURL, "Msgwindow", "width=400,height=270,scrollbars=no,location=no,menubar=no,resizable=no");
}
No.2ベストアンサー
- 回答日時:
親フレームページ(frame.asp)のunloadイベントは、子フレームに伝わる(親が閉じれば子も閉じるので当たり前)なので、No1の方が回答されているように子フレーム側のunloadイベントでsubWinを全部閉じる関数を実装すればよいのですが、子フレームのページが、たくさんあるとそれぞれに同じような関数を書くのが面倒です。
そこで、親フレームにsubWinを保管するグローバルな変数と全部のsubWinを消す関数を準備して、親フレームのunloadイベントにセットします。子フレームはsubWinを作る都度、subwinオブジェクトを親フレームの保管場所に保管するようにします。subwinにはユニーク名前をつけた方がよいですね。
<一例>
親:Frame.aspの定義
<html>
<head>
<script type="text/javascript" charset="utf-8">
<!--
var wins=[];
function CloseWin(){
for(i=0;i<wins.length;i++){
wins[i].window.close();
}
}
// -->
</script>
<FRAMESET Cols="267,*" frameborder="0" onunload ="CloseWin();">
<FRAME NAME="menuFrame" SRC="1.asp" NORESIZE SCROLLING="auto">
<FRAME NAME="menuFrame" SRC="2.asp" NORESIZE SCROLLING="auto">
</head>
</html>
子:2.aspのjavascript
viewtxtMsg("win1","http://hogehoge....");
viewtxtMsg("win2","http://fugafuga....");
function viewtxtMsg(winname,strURL){
subWin = window.open(strURL, winname, "width=400,height=270,scrollbars=no,location=no,menubar=no,resizable=no");
top.wins.push(subWin);
}
てな感じでどうでしょう。
aspじゃなくhtmでためしましたが、Firefox3、IE7でうまくいきました。
No.1
- 回答日時:
いくつか方法あるけど。
実装するのはフレームの方ね。
・window.openの戻り値を格納する配列を用意しておいて
onunloadで1つ1つcloseしていく方法。
・window.openのさいのウィンドウ名を格納する配列を用意しておいて
onunloadで1つ1つ再Openし、即座にそれをcloseする方法。
・それらの応用。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インラインフレームで表示され...
-
異なるフレームから異なるフレ...
-
フレーム内のiframeのデータの...
-
フレームをきった場合のリンク...
-
親フレームからkeydownイベント...
-
セレクトメニューでリンクの際...
-
<a href="#" …>の意味を教えて...
-
プルダウンメニューを別ファイ...
-
bodyにidをつける理由は何ですか?
-
ユーザーが更新ボタンを押さな...
-
乱数を一定時間毎に表示させた...
-
ランダムにページにアクセスしたい
-
pythonのWebスクレイピングでfi...
-
外部ファイルを読み込ませるた...
-
javascriptでbgmを自動再生する...
-
onbeforeunload時のwindow.open...
-
新しいウィンドゥを最大化で立...
-
ページの読み込みが完了してか...
-
VBscriptでVisualBasicのような...
-
jQueryが開かない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
インラインフレームで表示され...
-
フレームを跨ぐドロップダウン...
-
子フレームの自動リロードは可...
-
別ページのインラインフレーム...
-
インラインフレームをドラッグ...
-
親フレームのURLによって、...
-
jqueryを利用してインラインフ...
-
<iframe>~</iframe>内のwindow...
-
エラー:書き込みができません ...
-
フレームでの右クリック禁止
-
submitボタンで他のフレームを...
-
親フレームからkeydownイベント...
-
別フレームの中にあるインライ...
-
フレームが入れ子状態です。フ...
-
ワンクリック、ダブルウインド...
-
チェックボックスのチェックを...
-
別画面の関数の呼び出し
-
親ウィンドウの別フレームを子...
-
フレーム分割すると動かない
おすすめ情報