0
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 が適切な高さを取得できるように、幅と高さをどのように決定すればよいでしょうか?

4

1 に答える 1

2

ほとんどの場合、要素に到達していません。document.getElementByID() はファンキーな関数です。null/未定義の高さを設定しようとしています。

于 2012-09-05T19:18:35.480 に答える