いつもお世話になっています。
JavaScript勉強中の初心者です。
HTMLファイル内の文字列Aをクリックすると新規のサブウィンドウ,文字列Bクリックすると別のサブウィンドウが表示される稼働中のシステムがあり,どちらもメインウィンドウに設定されている「next」ボタン(下記setPname('{next}')は前任者により設定済み)をクリックすると自動的に閉じられるようにしたいと思っており,onclickイベントに
onClick="setPname('{next}');aClose();bClose();"
のように設定しましたが,3番目のbClose();だけが認識しません。
そこでaClose()とbClose()を一つの関数にまとめたいと考えているのですが,ユーザーによりAウィンドウが開いていたり,Bウィンドウが開いていたりまちまちで,具体的な解決策が思い浮かびません。
フォーカスを取得した方のウィンドウを閉じるようにすればよいのでしょうか。。。
関数は下記の通りです↓
----------------------------------------
//nextがクリックされたらAウィンドウを閉じる
function aClose(){
apage.close();
}
//nextがクリックされたらBウィンドウを閉じる
function bClose(){
bpage.close();
}
--------------------------------------
勉強不足で恐縮なのですが、どなたかご教授頂けないでしょうか。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
1.ウィンドウのハンドル保存用の変数をグローバルに宣言
(window.openとcloseが同じ関数内ならグローバルである必要はありません)
var winA
var winB
2.ウィンドウを開く時にウィンドウのハンドルを取得しておきます
winA = window.open('./index.html', 'PageA');
winB = window.open('./index.html', 'PageB');
3.ウィンドウのハンドルがあれば閉じる処理
if(win1){ win1.close(); }
if(win2){ win2.close(); }
↑のような書き方で、ウィンドウが存在している場合だけ処理することが可能です
HIRSYU様
回答ありがとうございます。遅くなりましてすみません。
先程、アドバイス通りプログラムを書き換えたところ思っていた動きを実現することができました!助かりました。
まだまだ勉強不足を痛感しています。
この度はありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- Windows 10 2つのウィンドウ選択時の表示について 10 2023/07/25 08:48
- その他(Microsoft Office) windows10で作業を終了する際の「保存しますか はい いいえ」を表示させずに自動で保存する方法 6 2023/03/15 11:29
- その他(ブラウザ) Edgeバー 3 2023/02/23 18:33
- Word(ワード) Microsoft Word2023で、修正箇所を表示させたい 1 2023/02/09 10:07
- Chrome(クローム) Google Chromeのブラウザ(PC)ウインドウの移動について 3 2022/07/19 15:14
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- その他(パソコン・周辺機器) デバイスのペアリングのウィンドウサイズがおかしい 1 2023/01/18 18:48
- Windows 10 ノートPCをスリープにするとアプリが閉じてしまう。 3 2022/04/14 18:33
- Android(アンドロイド) スマホの広告に困っています 5 2023/06/19 09:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで任意のウインドウのサイズ...
-
エクセルのシート上に別のシー...
-
子ウィンドウより親ウィンドウ...
-
画面を閉じる。「いいえ」の場...
-
Javascript_submit()完了後に処...
-
別フレームのページを更新させたい
-
子ウィンドウの存在確認
-
孫ウインドウを閉じたら親をリ...
-
onclick複数処理割り当てエラー...
-
子ウィンドウを常に手前表示、...
-
VBの画面で、全ウィンドウを一...
-
子→親ウインドウへデータを受け...
-
フレームから親ウィンドウへの...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
JavaScriptで指定Windowを最大...
-
マイページはどこを開くの
-
ウインドウを毎回同じ位置、大...
-
デジタル時計の時刻合わせの方...
-
スクリプトって、何ですか?ど...
-
リストビューをスクロールさせ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
VBAで任意のウインドウのサイズ...
-
ウィンドウの2重起動を防止したい
-
VBの画面で、全ウィンドウを一...
-
ポップアップと作業ウィンドウ...
-
子ウィンドウから親ウィンドウ...
-
ウィンドウ名からウィンドウオ...
-
子→親ウインドウへデータを受け...
-
子ウィンドウの存在確認
-
子ウィンドウから親ウィンドウ...
-
window.openで新しいページを後...
-
<EXCEL/VBA> OUTLOOKのウインド...
-
親ウィンドウから開いた子ウィ...
-
window.Openをモーダルにできま...
-
1クリックでモーダルを開いてか...
-
孫ウインドウを閉じたら親をリ...
-
子ウィンドウの「閉じる(×)」...
-
JavaScriptで指定Windowを最大...
-
助けてGmailでボタン表示が消え...
おすすめ情報