質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

1回答

411閲覧

親画面を前に表示したい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2023/08/24 07:48

はじめまして、初心者でよくわからないのでご教授いただけたら助かります。
質問は、
親画面が表示され、子画面を表示していますが、
親画面がアクティブにならず、子画面がアクティブになってしまうことです。

asp.netの既存システムをChrome,Edgeで動作するように改良しています。
メインメニューからボタンクリックで下位画面の表示を行います。そのときは、メニュー画面を置き換えて下位画面(X11.aspx)を表示しています。その表示方法は VBで Response.Redirect("X11.aspx")です。
そのX11.aspにボタンがありクリックすると 同じくVBで Response.Redirect("X12.aspx")で画面を同じウィンドウ上に置き換えて表示しています。
X12.aspxを起動した際にonloadで画面サイズの指定やフラグ判定しています。
onloadの最後で、同じプロジェクト内にあるctrl.js内でX91.aspxという子画面(サブウィンドウ)を表示しています。
このサブウィンドウは
SubX91 = window.open("X91.aspx", "X91","menubar=0,toolbar=0,scrollbars=yes,resizable=yes");
で開いています。そのあとに
SubX91.blur();
SubX91.Focus();
Window.Focus();
として最後に自分(X12.aspx)にフォーカスをあてています。

上記のながれで実行した場合、IEでは問題なくX12.aspxが前に、X91.aspxが後ろに来ます。
しかし、Chrome,EdgeではX12.aspxが後ろに来ます。
いろいろなところにBlurやFocusを付けて試しましたがうまくいきません。

つたない説明で申し訳ありませんが、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2023/08/24 08:02

window.openで開く子画面をポップアップするけど親画面の下にかくしたいということですか? もしそうなら子画面を開く意味はなんですか?(不正処理のイメージしかしないのですが)
退会済みユーザー

退会済みユーザー

2023/08/24 08:13

yambejpさん ありがとうございます 子画面は基本情報が記載されており参照できるように表示しています。なのでメインのウィンドウは画面いっぱいに広がっているのではなくメインの画面は左側3/4くらいサブ画面は右1/4くらいのサイズです。 両画面は若干重なります。
yambejp

2023/08/24 08:18

つまり_Helo_さんのいう「前」というのはアクティブという意味で、親画面の後ろに子画面を隠す必要はないということでしょうか?また、参照が目的なら親子関係ではなくブラウザを2枚立ち上げるのではいけませんか?
退会済みユーザー

退会済みユーザー

2023/08/24 08:30

yambejpさん 子画面を隠すではありません。親画面をアクティブという意味です。 親子という言い方が悪かったのかもしてません。メイン画面とサブ画面です。申し訳ないです。 先ほども記載しましたがメインの画面は左側3/4くらいサブ画面は右1/4くらいのサイズです。 ということなので、ブラウザは2枚表示します。
int32_t

2023/08/24 09:22

問題に心当たりがありますが、まだ確証がありません。 window.open() から Window.Focus() まで、具体的にどんなコードが動くか示せませんか? ASP.NET 抜きで、HTML + JavaScript だけで問題を再現できるコードがあると、より回答し易いです。
退会済みユーザー

退会済みユーザー

2023/08/28 00:09

int32_tさん ありがとうございます。 メイン画面をAサブ画面をBメイン画面を呼び出す画面をXとします。 Xでのscriptは <asp:Button ID="btnNew" runat="server" CausesValidation="false" CommandName="cmdNew" Text="Aを表示"/> Xでのボタン押下後のvbで    フラグセット等の処理あり Response.Redirect("A.aspx") ここまででXが表示されているウィンドウにAを表示する Aのonload処理で    window.resizeTo(1265, 824);     フラグ等の処理 openSubWin(); 上記openSubWinから呼ばれるのはjsを作成しています function openSubwin_1() { if (typeof subWin == 'undefined') { subWin = window.open("B.aspx", "_", "menubar=0,toolbar=0,scrollbars=yes,resizable=yes"); } } function openSubwin() { openSubwin_1(); if ((subWin) && (!subWin.closed)) { subWin.blur(); subWin.focus(); window.focus(); } } 上記openSubwからopenSubw_1を呼んでいるのはAをクローズしたときにBもクローズするためのようです(このロジックは私が作成したものではないため) このような感じですが、お分かりいただけますか?
guest

回答1

0

本件、クローズします

投稿2023/08/29 23:38

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問