none
客户浏览器显示区精确大小 RRS feed

答案

  • 你可以参考这段代码:

    function GetPageSize() {//获取页面总大小
        var scrW, scrH;
        if (window.innerHeight && window.scrollMaxY) {
            // Mozilla
            scrW = window.innerWidth + window.scrollMaxX;
            scrH = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight) {
            // all but IE Mac
            scrW = document.body.scrollWidth;
            scrH = document.body.scrollHeight;
        } else if (document.body) { // IE Mac
            scrW = document.body.offsetWidth;
            scrH = document.body.offsetHeight;
        }
        var winW, winH;
        if (window.innerHeight) { // all except IE
            winW = window.innerWidth;
            winH = window.innerHeight;
        } else if (document.documentElement
        && document.documentElement.clientHeight) {
            // IE 6 Strict Mode
            winW = document.documentElement.clientWidth;
            winH = document.documentElement.clientHeight;
        } else if (document.body) { // other
            winW = document.body.clientWidth;
            winH = document.body.clientHeight;
        }
        // for small pages with total size less then the viewport
        var pageW = (scrW < winW) ? winW : scrW;
        var pageH = (scrH < winH) ? winH : scrH;
        return { PageW: pageW, PageH: pageH, WinW: winW, WinH: winH };
    }
    function GetPageScroll() {//获取滚动条的位置
        var x, y;
        if (window.pageYOffset) {
            // all except IE
            y = window.pageYOffset;
            x = window.pageXOffset;
        } else if (document.documentElement
        && document.documentElement.scrollTop) {
            // IE 6 Strict
            y = document.documentElement.scrollTop;
            x = document.documentElement.scrollLeft;
        } else if (document.body) {
            // all other IE
            y = document.body.scrollTop;
            x = document.body.scrollLeft;
        }
        return { X: x, Y: y };
    }

    • 已标记为答案 19711024 2013年5月20日 2:28
    2013年5月15日 5:48
    版主

全部回复

  • <script>
    function getViewSizeWithoutScrollbar() { //不包含滚动条 
    	return {
    		width: document.documentElement.clientWidth,
    		height: document.documentElement.clientHeight
    	}
    }
    
    function getViewSizeWithScrollbar() { //包含滚动条 
    	if (window.innerWidth) {
    		return {
    			width: window.innerWidth,
    			height: window.innerHeight
    		}
    	} else if (document.documentElement.offsetWidth == document.documentElement.clientWidth) {
    		return {
    			width: document.documentElement.offsetWidth,
    			height: document.documentElement.offsetHeight
    		}
    	} else {
    		return {
    			width: document.documentElement.clientWidth + getScrollWith(),
    			height: document.documentElement.clientHeight + getScrollWith()
    		}
    	}
    }
    </script>


    2013年5月15日 3:22
  • 你可以参考这段代码:

    function GetPageSize() {//获取页面总大小
        var scrW, scrH;
        if (window.innerHeight && window.scrollMaxY) {
            // Mozilla
            scrW = window.innerWidth + window.scrollMaxX;
            scrH = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight) {
            // all but IE Mac
            scrW = document.body.scrollWidth;
            scrH = document.body.scrollHeight;
        } else if (document.body) { // IE Mac
            scrW = document.body.offsetWidth;
            scrH = document.body.offsetHeight;
        }
        var winW, winH;
        if (window.innerHeight) { // all except IE
            winW = window.innerWidth;
            winH = window.innerHeight;
        } else if (document.documentElement
        && document.documentElement.clientHeight) {
            // IE 6 Strict Mode
            winW = document.documentElement.clientWidth;
            winH = document.documentElement.clientHeight;
        } else if (document.body) { // other
            winW = document.body.clientWidth;
            winH = document.body.clientHeight;
        }
        // for small pages with total size less then the viewport
        var pageW = (scrW < winW) ? winW : scrW;
        var pageH = (scrH < winH) ? winH : scrH;
        return { PageW: pageW, PageH: pageH, WinW: winW, WinH: winH };
    }
    function GetPageScroll() {//获取滚动条的位置
        var x, y;
        if (window.pageYOffset) {
            // all except IE
            y = window.pageYOffset;
            x = window.pageXOffset;
        } else if (document.documentElement
        && document.documentElement.scrollTop) {
            // IE 6 Strict
            y = document.documentElement.scrollTop;
            x = document.documentElement.scrollLeft;
        } else if (document.body) {
            // all other IE
            y = document.body.scrollTop;
            x = document.body.scrollLeft;
        }
        return { X: x, Y: y };
    }

    • 已标记为答案 19711024 2013年5月20日 2:28
    2013年5月15日 5:48
    版主
  • 能不能直接在服务端获取,如通过request/browser对象属性获取?

    2013年5月18日 1:06