多年来,我一直在使用以下代码来检测浏览器客户区的宽度,并且它在所有浏览器(包括 FF、Safari 和各种版本的 IE)中都能 100% 运行。但是,现在当我切换到具有宽屏分辨率 (1280x800) 的新显示器时,此代码在 IE8 上失败。它报告客户端宽度为 1024 !!!???
任何想法如何获得正确的客户区宽度?
function getClientWidth() {
var v=0,d=document,w=window;
if((!d.compatMode || d.compatMode == 'CSS1Compat') && !w.opera && d.documentElement && d.documentElement.clientWidth)
{v=d.documentElement.clientWidth;}
else if(d.body && d.body.clientWidth)
{v=d.body.clientWidth;}
else if(xDef(w.innerWidth,w.innerHeight,d.height)) {
v=w.innerWidth;
if(d.height>w.innerHeight) v-=16;
}
return v;
}