js获取可视区大小和页面大小的兼容性写法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); }
以上是关于js获取可视区大小和页面大小的兼容性写法的主要内容,如果未能解决你的问题,请参考以下文章
scrollWidth、clientWidth、offsetWidth、width的区别
浏览器可视区大小简说(clientWidth,innerWidth)
关于取可视区到页面顶部距离(scrollTop)各浏览器不同的方法(兼容性)
document.documentElement.clientHeight 和 $(window).height() 无法正确获取页面可视区高度