0
var height = (library.window_dimensions().height - 200) + 'px';
document.getElementById('activity-feed').style.height = height;

IE8 报告这两行中的第二行错误。(返回高度和宽度的函数返回窗口高度和宽度的整数。)

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/undefined 上设置高度。

于 2012-09-05T19:18:35.480 回答