open()で開くウィンドウを常に手前に表示させるには?
[上に]
[前に]
[次に]
匿名希望2
[E-Mail]
[HomePage]
1999/09/14(火) 01:23:12
Q&A集の中に同じ質問があり
「IE3ではまだサポートされていませんが、open()の後にwindow.focus()メソッドを使えば可能です。 」
と回答されてあるのですが、もう少し詳しく説明が欲しいのですが。
それとやっぱりIEではだめなのでしょうか?
Nobu3
[E-Mail]
[HomePage]
1999/09/14(火) 03:13:11
newwin = window.open(url);
newwin.focus();
こんなもんで、いかがです?
開いたウィンドウを変数にして、それに対してフォーカスをあてる。
IE4以降なら大丈夫なはずですけど?
匿名希望2
1999/09/14(火) 09:04:27
<SCRIPT LANGUAGE="javascript"><!--
function ex1ToFront() {
newWindow = window.open('./kuji.html','pagewin','alwaysRaised=yes')
newWindow.focus();
}
//--></SCRIPT>
</HEAD><BODY>
<INPUT TYPE="button" VALUE="GO" onclick="javascript:ex1ToFront()">
こんな感じなんですけど
newWindow.focus();
でエラーが出ちゃいます。
どこがいけないのでしょう?
匿名希望2
1999/09/14(火) 10:20:49
上記説明不足でした。
1度目はOK(開く)ですが2度目にエラーが出ます。
また過去に「ひろぼー」さんの解答で似たような物がありましたが
<A HRE="http://www.geocities.co.jp/SiliconValley-PaloAlto/6444/ans2.htm">His HP</A>
開いた窓に外のHTMLファイルを表示させようとすると
(つまり---
<script language="JavaScript"><!--
function openwin(message) {
w = window.open("", "msg2", "alwaysRaised=yes");
w.focus();
w.document.open();
w.document.write(message);
w.document.close();
}
// --></script>
<a href="JavaScript:openwin("<META HTTP-EQUIV=Refresh CONTENT=0;URL=http://www.hoge.co.jp/kuji.cgi>")">GO</a>
にすると同じ結果になってしまいます。)
やはり「ひろぼー」さんのように
<a href="JavaScript:openwin("ここの中でページを書いてしまう")">GO</a>
としなければいけないのでしょうか?
変な質問ですいません。(Nobu3さん解答ありがとうございます)
匿名希望2
1999/09/14(火) 12:06:20
追記2
もう一つ別に過去にほぼ同じ内容の質問があり
いろいろと試してみましたが、やはり思うような結果が得られません。
(とほほさんの解答にあった
function openwin(url) { window.open(url, "xx").focus(); }
も試してみました。)
やりたいことは以下の通りです。
一つのページにリンク釦が多数ありそれぞれ違うURLにリンクされて
いるが窓は同じ窓を使いたい。
そしてその窓の仕様も指定したまま使いたい。
(上記のとほほさんの例だとこれがうまくいかない)
またリンクをクリックした際、毎回小窓にフォーカスを当てたい。
(常に前に無くてもフォーカスが当たれば良いです)
以上です。
どうかどなたかよろしくお願いいたします。
Nobu3
[E-Mail]
[HomePage]
1999/09/14(火) 13:02:22
う〜ん。
var newwin;
function winopen(url,nm,st){
if(newwin){
if(!newwin.closed)
newwin.focus();
}
}
newwin=window.open(url,nm,st);
}
これではどうでしょう?
匿名希望2
1999/09/15(水) 13:37:46
<script language="JavaScript"><!--
var newwin;
function winopen(url,"msg2", "alwaysRaised=yes"){
if(newwin){
if(!newwin.closed)
newwin.focus();
}
}
newwin=window.open(url,"msg2", "alwaysRaised=yes");
}
// --></script>
で、「識別子がありません」のエラーです(^^;
Aurai
1999/09/15(水) 14:36:43
NC4.6 for Win32 でテストしてみました
特に問題なくfocus()できました
http://www.fureai.or.jp/~yomorita/sand/webmake/javascript/window-focus.htm
匿名希望2
1999/09/16(木) 22:50:52
う〜ん
IE4.0使うと、クリック2回目まではいいのですが
3回目クリックするとスクリプトエラーが発生してしまいます。
うーん。。。
とりあえず 外部にあるHTMLを取りこむのではなく
同一ページ内に書きこむ方法で対処することにします。
Nobu3さん Auraiさん どうもありがとうございました。m(_ _)m
Nobu3
[E-Mail]
[HomePage]
1999/09/17(金) 15:26:28
すいません。カッコ一つ抜けてます (^^;;;
if(!newwin.closed)
の後ろに「{」が必要です。
で、ちょっと変更して実験したのを書いておきます。
var newwin;
function winopen(url){
if(newwin){
if(!newwin.closed){
newwin.location.href=url;
newwin.focus();
}else{
newwin=window.open(url,'subWindow','scrollbars');
}
}else{
newwin=window.open(url,'subWindow','scrollbars');
}
}
コードがダブってしまって面白くないのですけど、エラーは出ないと思います。たぶん。
ウィンドウの形式と、名前は、スクリプトを直に変更する必要があります。
ちなみにこのソースでは、「alwaysRaised=yes」は必要ありません。
[上に]
[前に]
[次に]