document.body.clientHeight の値がどうもおかしい件
どうやら IE の "standards-compliant mode" が原因であったようだ。このモードになっていると、プログラムの描画可能領域ではなくページの実描画領域のサイズを取得してしまうようなのだ。
解決策は、body ではなく documentElement を利用する事。つまり document.documentElement.clientHeight
にすると、クライアント描画領域の高さを取得できる。
幅も同様に、document.documentElement.clientWidth
で取得できる。
参考→Internet Explorer上のJavaScriptで、クライアントサイズが取得できない問題