JavaScript-Javascript获取浏览器窗口高 、宽不准的问题

JavaScript-Javascript获取浏览器窗口高 、宽不准的问题

虐人心 发布于 2017-02-03 字数 67 浏览 1838 回复 4

各个浏览器标准不一样,求兼容性高的获取浏览器窗口 高 、宽代码

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瑾兮 2017-08-23 4 楼

 if(document.body.scrollTop){
x=document.body.scrollTop;
y=document.body.scrollLeft;
}
else{
x=document.documentElement.scrollTop;
y=document.documentElement.scrollLeft;
}

var top = x + (window.screen.height - $($bimg).height())/2-50;
//取得左边距
var left = y + (window.screen.width - $($bimg).width())/2-20;

甜柠檬 2017-08-14 3 楼

正如所说,不同浏览器得到的高、宽数值是不一样的,最好是分开针对性的处理,可以试下下面的这套代码:

var myWidth;
var myHeight;

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;

}

方法二:

// first get the size from the window
// if that didn't work, get it from the body
var size = {
width: window.innerWidth || document.body.clientWidth,
height: window.innerHeight || document.body.clientHeight
}

该方法取之Stackoverflow

清晨说ぺ晚安 2017-06-21 2 楼

前段时间正好做了一个应用,要求浏览器窗口的滚动高跟宽,因为这个我也折腾了一番,我用的是下面的代码:

var scrollWidth = document.documentElement.scrollWidth || document.body.scrollWidth;//页面滚动宽带
var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight;//页面滚动高度

兼容性还行,Mark一下吧。

另外使用js获取浏览器的宽跟高还会受页头声明的DOCTYPE的影响。

夜无邪 2017-03-11 1 楼

用jquery吧,$(window).height(),$(window).width()