screen.availHeightだとステータスバー等も含んでしまっているような数値が出てしまうので、ステータスバー等を含めない、実際の有効縦幅を出せる方法がありましたら教えて下さい。
基本的に1の方が答えている通りだと思いますが・・・。
screenは、OSの管理しているスクリーンディバイスの情報を貰うので、availHeightでは
ブラウザにステータスバーがあろうが無かろうが、ブラウザのサイズが全画面表示だろ
うが100×100ピクセルくらいだろうが、関係なく、利用可能な画面の縦幅を返してくる
と思います。
ちなみに、screen.Heightは純粋にスクリーンディバイスの縦幅を返します。
もしも、コンテンツのために利用可能な有効領域が欲しいのでしたら、
Netscape系はwindow.innerHeight、IE系はdocument.body.clientHeightで取れる値を
使います。
(window.open等で指定できるウィンドウサイズは、このサイズになります。)
なお、ブラウザによって若干値が異なり、IEではスクロールバーがある場合、そのサイズ
を含まず、Mozillaでは含みます。この辺はブラウザの実装次第でしょう。
http://www.openspc2.org/JavaScript/ref/screen/availH.htm
http://www.hakko.co.jp/javascript/kantan0801.htm
screenは、画面全部になるので、screen.availHeightだと、
画面の有効高さになると思いますよ。
ブラウザのサイズでは無いですので、ステータスバーは関係ないのでは?
http://www.tagindex.com/javascript/window/open_option.html
http://www.scollabo.com/banban/java/ref_01.html
もしかして、こっちでしょうか。
新規作成の際には、ステータスバーの有無などは指定できますが、
現行のウィンドウでツールバーの有無やステータスバーの有無は
確認できないようです。
ありがとうございます。
仕様的にはavailHeightは有効幅であると書かれているのですが、どうも実際に試してみる(availHeightで出された数値と自分で実際に計ってみた有効縦幅を比べてみる)と数十ピクセルほど合わなくて、それが私の環境の場合、ステータスバーのHeight分の数値のようなのです。
ウィンドウの新規作成の際にstatus=noを指定する方法も試してみたのですが、最近のブラウザではセキュリティの問題でstatusパラメータの指定に関わらず強制的にステータスバーが表示されるようで、ステータスバーが表示されている状態での正確な有効縦幅が必要で困っています。
基本的に1の方が答えている通りだと思いますが・・・。
screenは、OSの管理しているスクリーンディバイスの情報を貰うので、availHeightでは
ブラウザにステータスバーがあろうが無かろうが、ブラウザのサイズが全画面表示だろ
うが100×100ピクセルくらいだろうが、関係なく、利用可能な画面の縦幅を返してくる
と思います。
ちなみに、screen.Heightは純粋にスクリーンディバイスの縦幅を返します。
もしも、コンテンツのために利用可能な有効領域が欲しいのでしたら、
Netscape系はwindow.innerHeight、IE系はdocument.body.clientHeightで取れる値を
使います。
(window.open等で指定できるウィンドウサイズは、このサイズになります。)
なお、ブラウザによって若干値が異なり、IEではスクロールバーがある場合、そのサイズ
を含まず、Mozillaでは含みます。この辺はブラウザの実装次第でしょう。
なるほど、ありがとうございます。
window.innerHeight/document.body.clientHeightで欲しい数値が取れました。
スクロールバーについても大変勉強になりました。
なるほど、ありがとうございます。
window.innerHeight/document.body.clientHeightで欲しい数値が取れました。
スクロールバーについても大変勉強になりました。