親ウィンドウを開いた時や、親ウィンドウ内のリンクをクリックした時に表示される子ウィンドウは親ウィンドウの「前面」に表示されますよね?
これを常に親ウィンドウの「背面」に表示させる事は可能でしょうか?
タブブラウザでは無意味かも知れませんが。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

常に親ウィンドウの背面に表示させる、というのが、子ウィンドウが開いたときに子ウィンドウが親ウィンドウの後ろに回ると言う意味でしたら、window.blur()を利用すればよいと思います。



nw=window.open("***.html","_blank");
nw.window.blur();

親ウィンドウ側にあるHTMLファイルのスクリプト中で、ウィンドウを開く部分をこのようにすると、ウィンドウを開いた際に、その次の処理でそのウィンドウを背面に回すことができると思います。

見当違いでしたら、ごめんなさい。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
フォーカスで制御するのですね?勉強になりました。
ありがとうございました。

お礼日時:2003/07/15 12:09

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qwindow.openで新しいページを後ろ側に

<SCRIPT language="JavaScript">
<!--
window.open("url");
//-->
</SCRIPT>

でページを開いたとき、もう一つのページを表示できますが、この方法だと、新たにopenしたページが元のページの
上に来てしまいます。
新しくオープンするウインドウが、このスクリプトを書いたページの後ろ側、背景にオープンする
ようにはできないでしょうか。

Aベストアンサー

window.open()
で、新しいウィンドウを開いた直後に、
window.focus()
で、現在のウィンドウにフォーカスを当てる、っていうのではどうでしょう?

Qウインドウの後ろに隠れているページを前面に出したいんです。

「呼び出し元ページ」をA
「呼び出されるWINDOWページ」をB
と例えます。

「A」のリンクをクリックすると「B」がNEW WINDOWで開き、既に開いている「B」のリンクをクリックすると背面「A」が手前に来るjavascriptに挑戦しているのですが、うまく動作しないんです。
逆の順序「B」→「A」→「B」もです。
WIN IE6.0では成功しましたが、FIREFOX、ネスケ、Mac safariの最新verではダメでした。
すみません、誰か教えて頂けないでしょうか。

現在「A」「B」のページには下記の記述をしてます。
IEでは大丈夫でした。
別の方法でも良いのでお願いします。

■「呼び出し元ページA、test1.com」
<script language="javascript">
<!--
window.focus();
//-->
</script>

<A href=http://www.test2.com/ target=test>リンク</A>

■「呼び出されるWINDOWページB、test2.com」
<script language="javascript">
<!--
window.focus();
//-->
</script>

<A href=http://www.test1.com/ target=test>リンク</A>

「呼び出し元ページ」をA
「呼び出されるWINDOWページ」をB
と例えます。

「A」のリンクをクリックすると「B」がNEW WINDOWで開き、既に開いている「B」のリンクをクリックすると背面「A」が手前に来るjavascriptに挑戦しているのですが、うまく動作しないんです。
逆の順序「B」→「A」→「B」もです。
WIN IE6.0では成功しましたが、FIREFOX、ネスケ、Mac safariの最新verではダメでした。
すみません、誰か教えて頂けないでしょうか。

現在「A」「B」のページには下記の記述をしてます。
IEでは大丈...続きを読む

Aベストアンサー

簡潔すぎてすいませんでした。
子画面から親画面を呼んで前面に出すようにするには
window.opener.document.focus();
というシンタックスでできます(windowは省略可)。
また、window.opener.focus();という書き方でも可。
コードを書くことにはなれていらっしゃるようですので
やってみてください。

>WIN IE6.0では成功しましたが、FIREFOX、ネスケ、
>Mac safariの最新verではダメでした。

IEとMozillaやその他のブラウザでは仕様のちがいから
振るまいがおなじではありません。たとえば、IEでは
window.openerが読み取り専用プロパティではありませんが、他の仕様はちがいます。したがって、IEはヘンスク
リプトを組むとヘンなことになる可能性があります。

Qサブウィンドウを常に最前面に表示する

お世話になります、

現在JavaScriptの勉強をしているのですが、以下の問題に突き当たり困っています。

問題1.
popup = window.open("subWindow.html","subWindow",'width=200,height=400,scrollbars=1,left=50,top=50, dependent=yes');

メソッドによって表示したウィンドウを常に最前列に表示する方法をご存知の方いらっしゃったら教えていただきたいのですが。

親画面をクリックするとSubWindowが親画面の下に隠れてしまい困っています。

よろしくお願いします

Aベストアンサー

showModalDialogというメソッドが準備されています。

サンプル

showModalDialog('sample.html', '' ,'dialogHeight:300px;dialogWidth:300px');

でモーダルダイアログとして表示することにより親画面の下に隠れることはなくなります。ただしこの方法では子画面を閉じるまで親画面に触れなくなります・・

Qリンク時、親ウインドウを最前面に表示させたい。

子ウインドウのURLをクリックすると、親ウインドウのフレーム内に内容を表示させています。その際に、子ウインドウが最前面に来ているため、全画面表示していると親ウインドウのフレーム内が変わったことがわかりません。リンクの時に親ウインドウを最前面に表示させたいのですが、何か良い方法はありますか?

Aベストアンサー

小ウィンドウ側のリンクに、クリックイベントで親ウィンドウにフォーカスを与える指定を追加するのではいかがでしょうか。

<a href="hoge.html" target="main" onClick="opener.focus()">hoge</a>

このように、小ウィンドウのa要素に「onClick="opener.focus()"」を追加してやると、このリンクがクリックされた時に親ウィンドウにフォーカスを移すようになると思います。

参考まで。

Q子ウィンドウの存在確認

子ウィンドウが開いていない場合にのみ子ウィンドウを開くような下記の処理があるとします。

function OpenSubWindow()
{
if(!w.closed()){
alert('閉じろ!');
}else{
w = window.open("a.html","sub","resizable=no,scrollbars=no");
}
}

この場合、当然のことですが、変数wはelseの中で初めて初期化されるため、ifの条件でオブジェクトが存在しないことによりエラーが発生します。

でも、"sub"というname属性のウィンドウが開いているかどうかを確認したいのですが、どうすればよいのでしょうか?wを初期化する方法が何かあるのでしょうか?それとも、subウィンドウのopen/closeの状態を管理するロジックを作りこまないといけないのでしょうか?

Aベストアンサー

細かなロジックを考える必要はありませんよ。
w がオブジェクトかどうか分からない時点で w.closed を評価するのがマズイだけですから、評価の順番を変えればいいんです。

var w;
function OpenSubWindow() {
  if (!w || w.closed)
    w = window.open("a.html", "sub", "resizable=no,scrollbars=no");
  else
    alert("閉じろ!");
}

ちなみに closed はメソッドではなくプロパティですので、w.closed() ではエラーとなります。
また、既に開いているときの処理は
  w.focus();
とすれば子ウィンドウがアクティブになるのでオススメです。

Qwindow.Openをモーダルにできますか?

こんにちは。

表題のように、Window.Openをモーダルにしたいのです。

親フォームからサブフォームを開き、
そこでクリックで選択された値を親フォームに展開させる
という処理をしたいのです。

ShowModalDialogだと、そのサブフォームで入力された値を親フォームに表示することができないのではないか・・・と思っています。

どなたかいい方法をご存知の方、
どうか教えてください。
よろしくお願いします。

Aベストアンサー

> ShowModalDialogだと、そのサブフォームで入力された値を親フォームに表示することができないのではないか

IE依存でかまわない、ということですね。

showModalDialog() は、表示したダイアログから、戻り値を返すことができます。

ダイアログの方では、window.returnValue という window オブジェクトの
プロパティがあるので、これに値を設定します。

親の方では、

ret = showModalDialog(…);

として、その値を受け取ります。

複数の数値のやり取りがあるのであれば、その window.returnValue に設定
するものを Object や Array にすれば良いですね。


因みに表題の

> Window.Openをモーダルにしたい

はやめておいた方が良いです。

あるウィンドウを常に一番上に表示することは可能ですが、そのウィンドウが
複数あると破綻します。

モーダルなウィンドウが、動作として必要なのであれば、新しくウィンドウを
開くのではなく、切り替えるようにインターフェースを考え直すべきだと
思います。

# もしくは applet を作るか

> ShowModalDialogだと、そのサブフォームで入力された値を親フォームに表示することができないのではないか

IE依存でかまわない、ということですね。

showModalDialog() は、表示したダイアログから、戻り値を返すことができます。

ダイアログの方では、window.returnValue という window オブジェクトの
プロパティがあるので、これに値を設定します。

親の方では、

ret = showModalDialog(…);

として、その値を受け取ります。

複数の数値のやり取りがあるのであれば、その window.return...続きを読む

Qjavaスクリプトでウィンドウを常に最前面に表示

ホームページを作成しているのですがメニューウィンドウ(menu.html)とアウトウィンドウ(out.html)を作成しました。
其処でメニューウィンドウ(menu.html)を常に一番上に表示するような技ってないでしょうか?(JAVAスクリプト等)

Aベストアンサー

セキュリティや環境などを無視して強引に実現するなら、
メニューウィンドウに以下のようなスクリプトを追加すればできると思います。

window.onblur = WinFocus;
function WinFocus() {
self.focus();
}

しかし、ANo.1の方も書かれているように、セキュリティだけじゃなく、そもそも「アウトウィンドウ」に触れなくなってしまいますよ。

QshowModalDialogで開いた画面から親画面のFunctionを呼び出すには?

showModalDialogで開いた画面から親画面のFunctionを呼び出すには、どのように記述すればよいのでしょうか?

ネットで探してみたのですが、該当する内容を探しきれずに困っています。

ご存知の方是非教えてください!

Aベストアンサー

へえ、モーダルウィンドなんていつのまにか
サポートしていたんですね。
ブラウザ依存度が高いので、限られた範囲でしか
つかえそうもないですけど。

showModalDialogで検索すれば普通にdialogArguments
がヒットしますが、気が付きませんでしたか?
こんな感じでどうでしょう
showModalDialogの第2引数に自分自身のwindowを
入れて投げてやると参照ができるみたいです。

//parent.htm

<input type="button" value="開く" onClick="showModalDialog('child.htm',window,'dialogWidth=320px; dialogHeight=240px;');">
<script language="javascript">
x=1;
function test(){
alert("test")
}
</script>

//child.htm
<script language="javascript">
document.write("親のxの値は「"+window.dialogArguments.x+"」です<br>")
</script>
<input type="button" value="親の関数を呼ぶ" onClick="window.dialogArguments.test()">

へえ、モーダルウィンドなんていつのまにか
サポートしていたんですね。
ブラウザ依存度が高いので、限られた範囲でしか
つかえそうもないですけど。

showModalDialogで検索すれば普通にdialogArguments
がヒットしますが、気が付きませんでしたか?
こんな感じでどうでしょう
showModalDialogの第2引数に自分自身のwindowを
入れて投げてやると参照ができるみたいです。

//parent.htm

<input type="button" value="開く" onClick="showModalDialog('child.htm',window,'dialogWidth=320px; dial...続きを読む

Q子→親ウインドウへデータを受け渡し、子ウィンドウを閉じる。

このような処理はできないでしょうか?

子ウィンドウはコード番号の検索用。該当のコードのリンクをクリックすると、そのコード番号を親ウィンドウのテキストボックスへ落とし込む。そのタイミングで、子ウィンドウは閉じる。
子→親ウインドウへのデータの受け渡しと、子ウィンドウのクローズを同時に行うようなイメージです。
よろしくお願いします。

Aベストアンサー

こんにちは

【親ウィンドウ】
<form action="xxx.php" method="POST" name="myForm">
顧客コード
<input type="text" name="kokyaku_cd" size="10">
<a href="javascript:void(0)" onClick="window.open('search.html','search','menubar=no,height=400,width=300');">検索</a>
</form>

【子ウィンドウ】
<script language="javascript"><!--
function ich(n) {
window.opener.document.myForm.kokyaku_cd.value=n;
window.close();
}
//--></script>

<table>
<tr>
<th>顧客コード</th>
<th>顧客名称</th>
</tr>
<tr>
<td><a href="javascript:ich('ABC商店')">0001</a></td>
<td>ABC商店</td>
</tr>
<tr>
<td><a href="javascript:ich('DEF商店')">0002</a></td>
<td>DEF商店</td>
</tr>
</table>

もしくはNo.1様の言うようにidを設定して
【親画面】
<input type="text" name="kokyaku_cd" size="10" id="kokyaku_cd">

【子画面 function内】
window.opener.document.getElementById("kokyaku_cd").value=n;

でできると思います

こんにちは

【親ウィンドウ】
<form action="xxx.php" method="POST" name="myForm">
顧客コード
<input type="text" name="kokyaku_cd" size="10">
<a href="javascript:void(0)" onClick="window.open('search.html','search','menubar=no,height=400,width=300');">検索</a>
</form>

【子ウィンドウ】
<script language="javascript"><!--
function ich(n) {
window.opener.document.myForm.kokyaku_cd.value=n;
window.close();
}
//--></script>

<table>
<tr>
<th>顧客コード</th>
<t...続きを読む

QNull またはオブジェクトではありませんのエラー

HTML部で
<FORM NAME="frm1" METHOD="post" ACTION="xxx.html">
 <INPUT TYPE="hidden" NAME="txt1">
</FORM>

javascriptで
document.frm1.txt1.value = "hoge";
document.frm1.submit();

のように記述しています。
FireFoxブラウザでは期待通りの動きをするのですが、
IE6では「document.frm1.txt1はNullまたはオブジェクトではありません」
とエラーが出てしまい、画面遷移しません。

因みにページはフレームを利用しており、
フォームや画面遷移はメインフレームでしか使っていないので、
フレーム名も特につけておりませんし、
targetの記述も使用しておりません。
そこらへんに原因があるのでしょうか。
それにしてもFireFoxでは可、IEではエラー
というのも解せないです。

どなたか分かる方いらっしゃいましたら
ご教示願います。

HTML部で
<FORM NAME="frm1" METHOD="post" ACTION="xxx.html">
 <INPUT TYPE="hidden" NAME="txt1">
</FORM>

javascriptで
document.frm1.txt1.value = "hoge";
document.frm1.submit();

のように記述しています。
FireFoxブラウザでは期待通りの動きをするのですが、
IE6では「document.frm1.txt1はNullまたはオブジェクトではありません」
とエラーが出てしまい、画面遷移しません。

因みにページはフレームを利用しており、
フォームや画面遷移はメインフレームでしか使っていないので、
...続きを読む

Aベストアンサー

>document.frm1
alert(document.frm1);
これが何と出るか。
場合によってはこれも「document.forms[x];」系にしてみる

あと一応確認しておくけど
function(){}
じゃない限りはHTML上に書かれた順に実装される事になってる。
まさかformが現れる前に実行させてないよね?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報