- 締切済み
ウィンドウサイズを開いたときと同じサイズにリサイズしたい
お世話になります。 window.openで1012×654のウィンドウを開いているのですが、ウィンドウサイズを変更した場合に元に戻したいことがあります。 そこで、resizeTo(1012,654)を実行するとwindow.openで開いたときよりも縦、横ともに小さくなってしまいます。 おそらく、resizeToはタイトルバーなどの部分を含まないサイズになっているような気がするのですが。。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- gaku1
- ベストアンサー率71% (10/14)
Mac OS X 10.4での試行例ですが・・・, ・FireFoxとSafariで試した結果「ウィンドウを表示した時のwindow.outerWidthとwindow.outerHeightを変数に取得しておき,その値をボタンクリックなどでresizeTo()に渡す」ことでできるようでした。 ・IE(試したのはMacOSX用のIE 5.22)の場合は「最初にウィンドウを開いた時に,ページのレンダリングが終了した時点でのdocument.body.clientWidthなどを変数に取得しておき,ボタンクリックで呼び出される関数内で再びdocument.body.clientWidthなどを参照し,最初に取得した値との差分をresizeBy()に渡す」ことにより,期待通りの動作になりました。「ページのレンダリングが終わってから」というところを怠ると期待通りになりませんでした。 ・Windowsでは試していません。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
window.open で指定するwidth,height は、表示領域のサイズで resizeTo で指定する幅、高さは、IEの場合外周(ウインドウの外回りの幅)で、NNの場合表示領域のサイズです。 そういうワケで質問文にあるような動作になるワケですが、(IEの場合)質問者の意図を満たすようなスタンダードなやり方というのはないです。(と思います)
お礼
回答、ありがとうございます。 IEの場合、できないのですか。。 残念です。