是一段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
Tips1,检查有没有打开ie8的兼容模式
Tips2,用原生IE8,不要用诸如360、Maxthon这类外壳
使用兼容模式是会正常,我没有用,他们也没有用,还是部分有问题部分没有...都是原生IE8
分分辨率?
css的时候没有自适应
css的自适应高宽没写好