var height = (library.window_dimensions().height - 200) + 'px';
document.getElementById('activity-feed').style.height = height;
IE8 は、これら 2 行のうち 2 行目でエラーを報告します。(高さと幅を返す関数は、ウィンドウの高さと幅の整数を返します。)
IEは何について不平を言っていますか?
- 編集 -
私はhttp://www.howtocreate.co.uk/tutorials/javascript/browserwindowで IE4 に対応するコードから離れていましたが、おそらく最近のバージョンの IE には対応していません。私は、IE4 に対処するのに十分徹底した誰かが IE の一般的なバージョンに対して理にかなっているだろうと思っていました。コードはウィンドウの高さに対して 0 を返し、次の行は高さが -200px であると不平を言っていました。
与えられたコードは次のとおりです。
function alertSize() {
var myWidth = 0, myHeight = 0;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
window.alert( 'Width = ' + myWidth );
window.alert( 'Height = ' + myHeight );
}
それで、私の次の質問: 必ずしも IE6 を超えて戻る必要はありませんが、たとえば IE8 が適切な高さを取得できるように、幅と高さをどのように決定すればよいでしょうか?