为啥都是IE8,这段JS代码会有不同的结果

是一段iframe自适应的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<
iframe frameborder="0" id="Detailsframe" onload = "SetCwinHeight(this.id)"></iframe>

 

 function SetCwinHeight(id) {
      var iframeid = document.getElementById(id); //iframe id 
      if (document.getElementById) {
          if (iframeid && !window.opera) {
              if (iframeid.contentDocument && iframeid.contentDocument.body.offsetHeight) {
                  if (iframeid.width < iframeid.contentDocument.body.offsetWidth) {
                      iframeid.width = iframeid.contentDocument.body.offsetWidth + 510 + "px";
                  }
                  iframeid.height = iframeid.contentDocument.body.offsetHeight + 30 + "px";
              } else if (iframeid.Document && iframeid.Document.body.scrollHeight) {
                  if (iframeid.width < iframeid.Document.body.scrollWidth) {
                      iframeid.width = iframeid.Document.body.scrollWidth + 510 + "px";
                  }
                  iframeid.height = iframeid.Document.body.scrollHeight + 30 + "px";
              }
          }
      }
  }


现在的情况下,我是win7+ie8,显示正好,但是客户端电脑无论是Win7+IE8或者XP+IE8显示出来都是右边空了很大一块,如果我把<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 声明去掉,效果就一样了,不知道为什么?

还有就是为什么body.scrollWidth似乎不是页面的真实值,我如果不加510的话,只显示了一半内容,还有一半要通过滚动条方式出现?

慕神8447489
浏览 447回答 4
4回答

莫回无

Tips1,检查有没有打开ie8的兼容模式 Tips2,用原生IE8,不要用诸如360、Maxthon这类外壳

呼如林

分分辨率?

摇曳的蔷薇

css的时候没有自适应

德玛西亚99

css的自适应高宽没写好
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript