首页 新闻 搜索 专区 学院

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

0
悬赏园豆:30 [已解决问题] 解决于 2012-09-08 08:23

是一段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的话,只显示了一半内容,还有一半要通过滚动条方式出现?

问题补充:

我的是1366*768 ,其它电脑是1440*900

happydaily的主页 happydaily | 菜鸟二级 | 园豆:410
提问于:2012-09-05 16:37
< >
分享
最佳答案
0

Tips1,检查有没有打开ie8的兼容模式

Tips2,用原生IE8,不要用诸如360、Maxthon这类外壳

收获园豆:30
Aimeast | 初学一级 |园豆:184 | 2012-09-05 22:15

使用兼容模式是会正常,我没有用,他们也没有用,还是部分有问题部分没有...都是原生IE8

happydaily | 园豆:410 (菜鸟二级) | 2012-09-06 09:21
其他回答(3)
0

分分辨率?

何潮 | 园豆:228 (菜鸟二级) | 2012-09-05 17:33
0

css的时候没有自适应

chenping2008 | 园豆:9836 (大侠五级) | 2012-09-05 19:59
0

css的自适应高宽没写好

jason2013 | 园豆:1998 (小虾三级) | 2012-09-05 21:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册