「別ウィンドウに表示」でリンクAとBはXへ、リンクCとDはYへ。にするには?

[上に] [前に] [次に]
いずみ 1999/09/26(日) 23:02:42
「別ウィンドウの表示」についてどうしても分からないので教えてください。

例えば、1つのページにA、B、C、Dというリンクがあるとします。その内、AとBは「Xの別ウィンドウに表示」、CとDは「Yの別ウィンドウに表示」をさせたい時、どのように記述したらようでしょうか?

../199906/99060149.htm←こちらの質問のレスのばかぼんさんの記述法と
http://www.tohoho-web.com/wwwjsx32.htm←のサンプルの記述法を上手く組み合わせようと頑張ってみたのですが、分かりません。
教えてください。よろしくお願いします。

Nobu3 [E-Mail] [HomePage] 1999/09/27(月) 00:17:33
どうしても、スクリプトを使わなくてはいけませんか?

そうでなければ
<a href="hoge1.htm" target="hoge_x">A</a>
<a href="hoge2.htm" target="hoge_x">B</a>
<a href="hoge3.htm" target="hoge_y">C</a>
<a href="hoge4.htm" target="hoge_y">D</a>
こういうこともできます。

いずみ 1999/09/27(月) 00:35:59
Nobu3さんありがとうございました。

その「別ウィンドウ」というのはツールバーとか無い小ウィンドウを開かせたいと思っているのですが…。

厄介者ですみません。。

Nobu3 [E-Mail] [HomePage] 1999/09/27(月) 06:14:14
var win=new Array();
function winopen(winurl,winID){
if(win[winID]){
if(!win[winID].closed){
win[winID].location.href=winurl;
return;
}
}
win[winID]=window.open(url,'hoge'+winID,'scrollbars');
}

呼出方法
<a href="javascript:winopen('hoge1.htm',1);">A</a>
<a href="javascript:winopen('hoge2.htm',1);">B</a>
<a href="javascript:winopen('hoge3.htm',2);">C</a>
<a href="javascript:winopen('hoge4.htm',2);">D</a>

全部スクリプトだとこんな感じでしょうか?
ただし、同じページ内でしか使えないと思いますけど・・・。

Nobu3 [E-Mail] [HomePage] 1999/09/27(月) 06:16:32
>win[winID]=window.open(url,'hoge'+winID,'scrollbars');
この行は
win[winID]=window.open(winurl,'hoge'+winID,'scrollbars');
ですね。
変数は統一しなくては・・・。

Nobu3 [E-Mail] [HomePage] 1999/09/27(月) 06:20:16
実際は関数の中身は
win[winID]=window.open(winurl,'hoge'+winID,'scrollbars');
この行だけでも動くみたいです・・・?(Win98+IE5)

Aurai 1999/09/27(月) 07:34:58
function winopen(i,j) {
window.open(i,j,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=400,height=300');
}
と定義して
<a href="a.htm" target="window_x" onClick="winopen(this.href,this.target);return false;">link A</a>
<a href="b.htm" target="window_x" onClick="winopen(this.href,this.target);return false;">link B</a>
<a href="c.htm" target="window_y" onClick="winopen(this.href,this.target);return false;">link C</a>
<a href="d.htm" target="window_y" onClick="winopen(this.href,this.target);return false;">link D</a>
とか
目指せオブジェクト指向(笑)

みんこ 1999/09/27(月) 09:53:07
function x(n){
window.open(n+'.html','x','scrollbars=0');
}
funtion y(m){
window.open(m+'.html','y','scrollbars=0');
}
っていっそ分けてもわかりやすいかも。

いずみ 1999/09/27(月) 23:33:01
みなさんどうもありがとうございました。

どうにか思うようにウィンドウを開かせる事が出来ました。
Nobu3の記述法を使わせていただきました。
あと、それぞれのウィンドウのサイズやスクロールバーの表示等の
設定は何処の部分に記述したらよいでしょうか?
教えてください。よろしくお願いします。

あと、くだらない事をお聞きしてしまうかもしれませんが、例で使われている「hoge」というのは何を示しているのでしょうか?

よろしくお願いします。

Nobu3 [E-Mail] [HomePage] 1999/09/28(火) 00:03:31
例で「'scrollbars'」と書いてある部分を変更すればいいです。
でも、xとyで大きさを変えるなら、それも引数にしないといけません。

function winopen(winurl,winID,winstyle){
...
win[winID]=window.open(winurl,'hoge'+winID,winstyle);
}
<a href="javascript:winopen('hoge1.htm',1,'width=200,height=200');">A</a>

ただ、winstyleもwinIDに対応しないと意味が無いと思うので、関数内で、条件分岐した方がいいでしょう。

if(winID==1){
winstyle='width=200,height=200';
}else if(winID==2){
winstyle='width=300,height=300';
}
のようなものを追加して。
この場合は、引数は変更しません。

hogeは・・・なんでしょう?よくサンプル(?)などで使われてるみたいです。
これといった意味は無いんじゃないでしょうか?

[上に] [前に] [次に]