ウィンドウを縦のみ固定する方法

[新着] Webテンプレートを仮オープンしました



0   名前: つゆ : 2007/06/15(金) 11:01  ID:GBj2wBJS sub-t1
初めまして、つゆです。
早速質問させていただきます。
790×680サイズのwebページを作成したのですが、
1280×1024のディスプレイで見ると、ブラウザに余裕?があるため
画面いっぱいにブラウザを広げると、表示されているページの
下の方が空いた状態で表示されます。
ページ全体を表示させたらそれ以上広がらないように、
ウィンドウサイズの縦のみ固定したいと思い、
--------------------------------------------
<script type="text/javascript">
function changesize(){
window.resizeTo(800,700);
}
window.onload=changesize;
window.onresize=changesize;
</script>
--------------------------------------------
と記述したのですが、これだと横幅も固定されてしまいますよね。
横幅は固定せずに縦幅のみ固定する方法ってありますでしょうか。

よろしくお願いします。


検索用語「ブラウザ 縦 固定」 「ウィンドウ サイズ 縦 固定」等で調べましたが、resizeTo(*,*);しか
出てきませんでした。
resizeTo(*,700);と記述すればなるのかな?と思いましたがなるわけが無く。

1   名前: カヅサツ ◆ThCi95HEzw : 2007/06/15(金) 11:01  [URL]  ID:Ehfvypix sub-r2
先に現在の横幅を調べてから指定してあげれば良いかと思いますが、

・リサイズされるのはとても不便
・多くのタブブラウザではresizeToを無視する

という理由により、まったくオススメできません。

2   名前: Script41 : 2007/06/15(金) 11:01  ID:A3n49R0s sub-IZ
>1: で言われているように、ウィンドウサイズはユーザーに任せるべき、に同意。

が、しかしまあ、出来るかどうかで言えば、縦の増減分を強制的に補正すれば出来るかと。
<html>
<head>
<script type="text/javascript">
var defaultHeight;
function setSize(){
	window.resizeTo(800,700);
	defaultHeight = document.body.clientHeight;
	if(!defaultHeight){
		defaultHeight = window.outerHeight;
	}
}
function forceSize(){
	if(!defaultHeight){
		return false;
	}
	currentHeight = document.body.clientHeight;
	if(!currentHeight){
		currentHeight = window.outerHeight;
	}
	hSpan = defaultHeight - currentHeight;
	window.resizeBy(0, hSpan);
}
window.onload   = setSize;
window.onresize = forceSize;
</script>
</head>
<body>
</body>
</html>

3   名前: つゆ : 2007/06/15(金) 11:01  ID:GBj2wBJS sub-t1
カヅサツさん、Script41さん、コメントありがとうございます。
返事が遅くなってしまい、申し訳ありません。

そうですよね、やっぱりウィンドウサイズはユーザーに任せるべきですよね…
すみませんでした。ウィンドウサイズ固定は止めておきます。
スクリプトまで書いていただいてありがとうございました。
こういう書き方もあるのだと、勉強になりました。

一覧へ戻る