js获取可视区大小和页面大小的兼容性写法

var getPageSize = function() {
    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 || document.documentElement.clientWidth) {
        // 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};
};

//调用:
document.onclick = function(){
    var page = getPageSize();
    console.log(‘页面高度:‘ + size.PageH + ‘,可视区高度:‘ + size.WinH);
}
时间: 2024-10-11 03:40:35

js获取可视区大小和页面大小的兼容性写法的相关文章

JS获取上一访问页面URL地址document.referrer实践2

一.JS获取前一个访问页面的URL地址document.referrer 要获取前一个访问页面的URL地址前后端语言都可以,例如PHP的是$_SERVER['HTTP_REFERER'],JavaScript的就是document.referrer. 我们平常开发,虽然和URL打交道也算比较频繁,但是,似乎很少使用document.referrer.我起初以为是兼容性不好,后来测试发现ie7都支持,那就奇怪了,为何document.referrer用的不多呢? 我想了一下,可能有下面几个原因:

js获取浏览器信息和页面信息

1.js获取浏览器信息:包含判断是否为移动端,以及浏览器信息,android版本 2.js获取页面url.domain.title function browserInfo() { var browser = { versions : function() { var u = window.navigator.userAgent; //android版本 var num; if (u.indexOf('Trident') > -1) { //IE return "IE"; } e

JS获取当前日期、比较日期大小

//获取当前时间,格式YYYY-MM-DD function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month =

js获取浏览器窗口可视区域大小

获得浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)的方法: 一.对于IE9+.Chrome.Firefox.Opera 以及 Safari: •  window.innerHeight - 浏览器窗口的内部高度 •  window.innerWidth - 浏览器窗口的内部宽度 二.对于 Internet Explorer 8.7.6.5: •  document.documentElement.clientHeight表示HTML文档所在窗口的当前高度. •  document.doc

js获取上传文件的大小和名称

代码如下: 上传:<input type="file" style="width: 500px;" onchange="fileChange(this);"/> <script type="text/javascript"> function fileChange(target){ var isIE = /msie/i.test(navigator.userAgent) && !wind

JavaScript中关于获取浏览器可视窗口的几个兼容性写法的理解

1.浏览器可视窗口的概述: 浏览器可视区域不是网页的body的大小.可视区指的是浏览器减去上面菜单栏.工具栏,下面状态栏和任务栏,右边滚动条(如果有的话)后的中间网页内容的单页面积大小.而body大小是随着内容调整而变动的,可大可小.如果有滚动条的话,body的要大于可视区 2.不同浏览器或版本的不同写法: 对于IE9+.Chrome.Firefox.Opera 以及 Safari(window对象属性不支持IE8及以下浏览器): window.innerHeight - 浏览器窗口的内部高度

js获取浏览器滚动条距离顶端的距离

最近在做项目的时候遇到需要用js获取滚动条距离窗口顶端的距离和js获取浏览器可视化窗口的大小,在这儿做一个整理保存:    一.jQuery获取的相关方法 jquery 获取滚动条高度 获取浏览器显示区域的高度 : $(window).height(); 获取浏览器显示区域的宽度 : $(window).width(); 获取页面的文档高度 : $(document).height(); 获取页面的文档宽度 :$(document).width(); 获取滚动条到顶部的垂直高度 : $(docu

[Jquery] js获取浏览器滚动条距离顶端的距离

需要用js获取滚动条距离窗口顶端的距离和js获取浏览器可视化窗口的大小  一.jQuery获取的相关方法 jquery 获取滚动条高度 获取浏览器显示区域的高度 : $(window).height(); 获取浏览器显示区域的宽度 : $(window).width(); 获取页面的文档高度 : $(document).height(); 获取页面的文档宽度 :$(document).width(); 获取滚动条到顶部的垂直高度 : $(document).scrollTop(); 获取滚动条到

js获取input长度并根据页面宽度设置大小

1. js获取页面宽度高度及屏幕分辨率 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去