No.5ベストアンサー
- 回答日時:
何度も何度もすみません・・・
×ボタンでウインドウを閉じたときに、window.openで取得したウインドウオブジェクトWが消去されているのかもしれません。
test4.htmlのソースを以下のように変更してみてください。
ダミーページ(ウインドウ制御用) test4.html
<HTML>
<head>
<script language="javascript">
var W;
function NewWin() {
W = window.open("./test2.html","aaa","width=500,height=300,resizable=yes");
}
function CloseWin() {
if (window.W) {
window.W.close();
}
}
</script>
</head>
<body>
</body>
</HTML>
この回答への補足
返事が遅れてすみません。
試して見ましたが、閉じるを押しても閉じられませんでした。
環境はWinXP Pro SP2 IE6です。
No.6
- 回答日時:
うーん・・・どうしてでしょう?
現在のソースはNo2のソースに、test4.htmlのソースをNo5のものに変えただけのものでしょうか?
もしよろしければ、提示できる範囲で結構ですので、ソースを示していただくことは出来ないでしょうか?
よろしくお願いいたします。
No.4
- 回答日時:
すみません、私の環境ではエラーが出ません・・・
私の環境はXPsp1 IE6 とXPsp2IE6
です。
なんででしょうね?
お手数かけますが、No1とNo2のソースはフレーム以外でも若干変更しておりますので、すべてのソースをNo2から取り直して、もう一度試していただけないでしょうか?
それから、エラーが出るときの手順を書いて頂けるとうれしいです。
また、よろしければPCの環境を教えていただけないでしょうか?
よろしくお願いいたします。
No.2
- 回答日時:
閉じる動作でしたか・・・No1の方法ではどうしても一回開いてしまいますね。
ちょっと強引ですが、親画面Aのと同レベルの階層にダミーのフレームを用意しておいて、ウインドウを開く、閉じるといった動作をダミーフレームのJavaScriptで行うという手もあります。
例
フレーム階層
フレーム構成のHTML(testframe.html)
+main 親画面A(test.html)
-dummy ダミーページ(test4.html)
ダミーページに用意するJavaScript
NewWin() → 新規ウインドウ(test2.html)のオープン
CloseWin() → 開いたウインドウのクローズ
親画面Aから子画面Bの生成
parent.dummy.NewWin();
親画面Cから子画面Bの消去
parent.dummy.CloseWin();
以下ソース
フレーム生成のページ testframe.html
<HTML>
<frameset rows="100%, *" frameborder="no" border="0" framespacing="0">
<frame name="main" src="test.html">
<frame name="dummy" src="test4.html" scrolling="no">
</frameset>
</HTML>
ダミーページ(ウインドウ制御用) test4.html
<HTML>
<head>
<script language="javascript">
var W;
function NewWin() {
W = window.open("./test2.html","aaa","width=500,height=300,resizable=yes");
}
function CloseWin() {
window.W.close();
}
</script>
</head>
<body>
</body>
</HTML>
親画面A test.html
<HTML>
<body onLoad="parent.dummy.NewWin()">
<a href="test3.html">koko</a>
</body>
</HTML>
子画面B test2.html
<HTML>
<body>
テスト2
</body>
</HTML>
遷移後親画面C test3.html
<HTML>
<body>
テスト3
<br>
<input type="button" value="閉じる" onClick="parent.dummy.CloseWin()">
</body>
</HTML>
この回答への補足
サンプルを作っていただきありがとうございます。
早速動かそうと思ったのですが、
test3.htmlで閉じるボタンを押すと、
test4.htmlのCloseWin()でエラーになってしまいます。
どこかおかしいところがあるのでしょうか?
よろしくおねがいします。
No.1
- 回答日時:
ダミーでwindow.openをかましてあげれば出来ます。
以下の例では、
1.親画面Aのロード時に子画面Bを生成します。
2.親画面Aのkokoをクリックして、親画面をCへ遷移させます。
3.親画面Cで変更ボタンを押下すると、
3-1.window.open("","aaa")をダミーで呼び出します。
3-2.もともとあったaaaというウインドウの内容を変更させています。
例
親画面A test.html
<HTML>
<head>
<script language="javascript">
function NewWin() {
window.open("./test2.html","aaa","width=500,height=300,resizable=yes");
}
</script>
</head>
<body onLoad="NewWin()">
<a href="test3.html">koko</a>
</body>
</HTML>
子画面B test2.html
<HTML>
<body>
テスト2
</body>
</HTML>
遷移後親画面C test3.html
<HTML>
<head>
<script language="javascript">
function change() {
W = window.open("","aaa"); //ダミーでaaaという名前のウィンドウを生成します
window.W.document.write("テスト2は変更されました");
}
</script>
</head>
<body>
テスト3
<br>
<input type="button" value="変更" onClick="change()">
</body>
</HTML>
この回答への補足
ご回答ありがとうございます。
私も、この方法を見つけてやってみたのですが、
今回やろうとしているのが、遷移後の画面Cにて、子画面を閉じる処理を行いたいのですが、画面Cで、ボタンを押す前に、子画面Bが閉じられている場合に、画面が開いた直後に閉じるという現象が発生してしまうので、どうにかこれを回避したいと思っているので、いい方法があればご教授のほどよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonによる物理の斜方投射の位置座標表示について 2 2023/06/05 12:46
- Mac OS macが液晶割れしたのでデータを保護したいです 2 2023/03/27 18:36
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- iOS デスクトップの画面が Prt Sc 出来ない。 1 2022/05/09 15:57
- その他(ソフトウェア) IrfanView で画像のスクロール?できますか 1 2022/08/31 13:57
- Y!mobile(ワイモバイル) iPhoneからAndroidへ機種変。oppoReno7という機種ですが、データ移行をしようとする 2 2023/06/10 21:56
- 写真・ビデオ iPhone12を使っていたのですが液晶が壊れてしまいました、画面も変な線が縦に入ってしまいロック画 1 2023/01/10 02:01
- Windows 10 マルチディスプレイ【モニター2つ並べて】プリントスクリーンを片方のだけ取るにはどうする? 3 2022/11/27 02:46
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- Java Javaプログラミングの質問になります。 ボタンを押下した時に画面遷移して 画面から戻ってきた時のi 1 2023/06/26 07:50
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
指定時間になったら、WEBサイト...
-
別サーバのHTMLと通信
-
モーダルダイアログから呼び元...
-
『入力文字列 + .html』 に...
-
CSSのtransform: translate(-50...
-
エクセルでサイズに合ったもの...
-
Excelの列や行の幅を表示...
-
PDFへてのテキストボックスにて...
-
table内で画像と文字をセンター...
-
エクセルでサイズ指定でPOP...
-
Excel セルの幅が合わない
-
ワードで、横書きの数字を縦書...
-
htmlでテーブル内にテキストボ...
-
【エクセルVBA】シェイプのサイ...
-
道路幅を調べたいのですが
-
<tbody>は何のためにあるんでし...
-
HTMLフォームのSELECTの幅を一...
-
エクセル 画面表示拡大率によ...
-
aタグに直接style=""で:hoverを...
-
CSSで見出し(タイトル)行の右...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
指定時間になったら、WEBサイト...
-
javascriptでタイトルバーを非...
-
window.openした時、親ウィンド...
-
HTMLでブラウザを終了させる方法
-
location.hrefの使用条件について
-
ウィンドウオープンに関する初...
-
モーダルダイアログから呼び元...
-
プルダウンメニューからインラ...
-
「このページを閉じる」の設定...
-
サブウィンドウから、親ページ...
-
子Windowの操作(親Window遷移後)
-
小窓を表示させたい
-
『入力文字列 + .html』 に...
-
javscript超初心者です。
-
window.close()で閉じられない
-
サブウインドウを開くときのフ...
-
location.hrefで別窓にリンクを...
-
CSSのtransform: translate(-50...
-
エクセルでサイズに合ったもの...
-
htmlでテーブル内にテキストボ...
おすすめ情報