Web開発FAQ

ブラウザのウィンドウを指定位置にオープンする

ブラウザのウィンドウを指定位置にオープンしたいのですが、
どのようにすれば良いのでしょうか?

まずブラウザ本体のウィンドウに対する扱いですが、あるウィンドウ(ウィンドウ_Aとします)から
新規ウィンドウ(ウィンドウ_Bとします)を生成する場合、現在表示中の座標からX方向・Y方向とも
22ピクセルを増分した位置に表示されます。
また、そのウィンドウ_Bをディアクティベートしてウィンドウ_Aからさらに新規ウィンドウ(ウィンドウ_C)を
生成すると、ウィンドウ_BからX方向・Y方向とも 22ピクセル(ウィンドウ_Aからでは44ピクセル)増分した
位置に表示されます。
そしてウィンドウ_Bをクローズし、ウィンドウ_Cをディアクティベートした後、ウィンドウ_Aからさらに
新規ウィンドウ(ウィンドウ_Dとします)を生成すると、ウィンドウ_CからX方向・Y方向とも
22ピクセル(ウィンドウ_Aからでは66ピクセル)増分した位置に表示されます。
さらにウィンドウ_E、F、G…を生成・表示しようとしますと、表示座標は22ピクセルずつ加増されることに
なります。 そしてウィンドウがディスプレイ表示エリアに収まらなくなると、表示座標は(0,0)に戻り、
再び22ピクセルずつの増分を繰り返します。

このような特性を備える一方、新しく生成するウィンドウに表示座標も渡すことで、オープンする位置を指定することもできます。

function PMTWIN(){window.open("/cgi-bin/DSPPROMPT","PROMPT",
   "toolbar=no,location=no,directories=no,status=no,menubar=no,
     scrollbars=auto,resizable=yes,width=270,height=285,top=22,left=22") }

このように『top=y, left=x』のパラメータを付加し、それぞれの座標をピクセルで指定します。
これで、指定位置にウィンドウを生成してコンテンツを表示することが可能になります。
ただしこれはJAVASCRIPTによるものですので、JAVASCRIPTが制御するウィンドウに対してのみ
有効となります。

ウィンドウ生成にJAVASCRIPTが関与していないものについては「指定位置にウィンドウを生成して表示」
ではなく「表示されたウィンドウを指定位置(および指定サイズ)に移動」することになります。
これには次のJAVASCRIPTを<BODY>に onLoad属性 を付けて実行します。
(例.<BODY onLoad="MV2()">)

function MV2(){ window.moveTo(22,44) }
   ※ 左上(0,0)を起点にX方向へ22ピクセル、Y方向へ44ピクセル移動します。

ウィンドウのリサイズ(ただし外寸)も行う場合は

function RS2(){ window.resize.To(300,200)}
   ※ 幅300ピクセル、高さ200ピクセル(メニューバーやステータスバーなど
       を含む外寸)にリサイズします。

を連続指定することで対応できます。