window.innerHeight
で取得できる。
IEの場合が厄介で、標準モードと互換モードで取得方法が異なる・・・・
標準モードの場合、
document.documentElement.clientHeight
互換モードの場合は
document.body.clientHeight
標準モードで
document.body.clientWidth
を使用すると、値は返ってくるけど、どうやら、表示領域ではなく、レンダリングされたBODYエレメントの高さを返すっぽい。
ある意味、本来の動きなんだろうけど、それなら
window.innerHeight
を実装してくれと・・・
if(typeof window.innerHeight == "undefined"){
window.prototype.innerHeight = function(){
if(document.compatMode=='CSS1Compat'){
return document.documentElement.clientHeight;
}else{
return document.body.clientHeight;
}
}
}
とかやっておいたらいいのか・・・とりあえず関数化。
function getWindowHeight (){
if(typeof window.innerHeight != "undefined"){
return window.innerHeight;
}else if(document.compatMode=='CSS1Compat'){
return document.documentElement.clientHeight;
}else{
return document.body.clientHeight;
}
}
0 件のコメント:
コメントを投稿