问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用JS动态获取浏览器的宽高

发布网友 发布时间:2022-04-25 22:10

我来回答

3个回答

懂视网 时间:2022-05-12 15:06

这篇文章给大家介绍的内容是关于HTML实现获取浏览器可视区域宽高(纯代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

/**
 * 获取浏览器可视区域宽度
 */
 function getViewPortOffset() {
 if (window.innerWidth) {
  return {
  w: window.innerWidth,
  h: window.innerHeight
  }
 } else if (document.compatMode = "BackCompat") {
  return {
  w: document.body.clientWidth,
  h: document.body.clientHeigth
  }
 } else {
  return {
  w: document.documentElement.clientWidth,
  h: document.documentElement.clientHeight
  }
 }
 }
 console.log(getViewPortOffset());

相关文章推荐:

html实现获取浏览器滚动距离(纯代码)

html实现图片预加载的分析(附代码)

热心网友 时间:2022-05-12 12:14

IE中: 
document.body.clientWidth ==> BODY对象宽度 
document.body.clientHeight ==> BODY对象高度 
document.documentElement.clientWidth ==> 可见区域宽度 
document.documentElement.clientHeight ==> 可见区域高度 


FireFox中: 
document.body.clientWidth ==> BODY对象宽度 
document.body.clientHeight ==> BODY对象高度 
document.documentElement.clientWidth ==> 可见区域宽度 
document.documentElement.clientHeight ==> 可见区域高度 


Opera中: 
document.body.clientWidth ==> 可见区域宽度 
document.body.clientHeight ==> 可见区域高度 
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) 
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 

没有定义W3C的标准,则 
IE为: 
document.documentElement.clientWidth ==> 0 
document.documentElement.clientHeight ==> 0 

FireFox为: 
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) 
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 

Opera为: 
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) 
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 


网页可见区域宽: document.body.clientWidth 
网页可见区域高: document.body.clientHeight 
网页可见区域宽: document.body.offsetWidth (包括边线的宽) 
网页可见区域高: document.body.offsetHeight (包括边线的高) 
网页正文全文宽: document.body.scrollWidth 
网页正文全文高: document.body.scrollHeight 
网页被卷去的高: document.body.scrollTop 
网页被卷去的左: document.body.scrollLeft 
网页正文部分上: window.screenTop 
网页正文部分左: window.screenLeft 
屏幕分辨率的高: window.screen.height 
屏幕分辨率的宽: window.screen.width 
屏幕可用工作区高度: window.screen.availHeight 
屏幕可用工作区宽度: window.screen.availWidth 

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth 
scrollHeight: 获取对象的滚动高度。 
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 
scrollWidth:获取对象的滚动宽度 
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 
event.clientX 相对文档的水平座标 
event.clientY 相对文档的垂直座标 
event.offsetX 相对容器的水平坐标 
event.offsetY 相对容器的垂直坐标 
document.documentElement.scrollTop 垂直方向滚动的值 
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量 


示例:

var winWidth = 0; 
var winHeight = 0; 
function findDimensions() //函数:获取尺寸 

    //获取窗口宽度 
    if (window.innerWidth) 
        winWidth = window.innerWidth; 
    else if ((document.body) && (document.body.clientWidth)) 
        winWidth = document.body.clientWidth; 
    //获取窗口高度 
    if (window.innerHeight) 
        winHeight = window.innerHeight; 
    else if ((document.body) && (document.body.clientHeight)) 
        winHeight = document.body.clientHeight; 
    //通过深入Document内部对body进行检测,获取窗口大小 
    if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) 
    { 
        winHeight = document.documentElement.clientHeight; 
        winWidth = document.documentElement.clientWidth; 
    } 
    //结果输出至两个文本框 
    document.form1.availHeight.value= winHeight; 
    document.form1.availWidth.value= winWidth; 

findDimensions(); 
//调用函数,获取数值 
window.onresize=findDimensions;

热心网友 时间:2022-05-12 13:32

JS改成这样:

function getViewSize() {
    return {
        "w": window['innerWidth'] || document.documentElement.clientWidth,
        "h": window['innerHeight'] || document.documentElement.clientHeight
    }
}

function getFullSize() {
    var w = Math.max(document.documentElement.clientWidth, document.body.clientWidth) +

    Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
    var h = Math.max(document.documentElement.clientHeight, document.body.clientHeight) +

    Math.max(document.documentElement.scrollTop, document.body.scrollTop);
    w = Math.max(document.documentElement.scrollWidth, w);
    h = Math.max(document.documentElement.scrollHeight, h);
    return {
        "w": w,
        "h": h
    };
}

function setContainerSize() {
    size = getViewSize();
    console.log(size);
    document.getElementById("div").style.width = size["w"] - 100 + "px";
    document.getElementById("div").style.height = size["h"] - 100 + "px";
}

setContainerSize();
window.onresize = setContainerSize;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? JS如何获取浏览器的高度? 名下有贷款房贷还能贷款吗 pe管热熔对接技术参数 刚打开手机就看见微信提示有人加我好友 但是打开微信却找不到要加我的人了 怎么回事找不到了_百度问一问 名下有贷款,还可以申请按揭房贷吗 PE管的“PE管焊接技术”热熔对接重要工艺参数是什么? 名下有一笔信用贷款,现在想买房,影响我的按揭贷款吗 已经有了贷款,还能申请房贷吗 PE管的参数 本人名下有贷款还能办房贷吗 香积寺的主要建筑 名下有一套贷款没还清还能贷款买房吗? PE管的工艺参数有哪些? 凉州七里十万家,盛唐时凉州与在凉州的胡人有何联系? 为什么我微信加了对方突然对方就不见了 我有一笔贷款在还款中,现在要买房贷款有影响吗? 怎么注册xbox? 从陕西户县鸠摩罗什寺经西安到甘肃天水市南廓寺距离有多远 XBOX是啥意思 武威有啥好玩的地方 PE管的主要特性 jquery或js 如何时时获取浏览器当前的宽和高? pe管sdr含义以及pe介绍 jquery js如何获取移动设备浏览器高度? PE管的优点是什么? 如何用 js 取得浏览器的高度并赋值给div? JS如何获取浏览器有效宽度和高度 我名下有贷款还能贷款买房吗 jquery js获取移动设备浏览器高度 我自己名下有一笔信用贷款,现在想买房,影响我的按揭贷款吗?请详细点解答 谢谢 js加载时获取浏览器高度 PE管焊接技术 如何用js获取浏览器宽高然后作为图片的宽高使用 PE管用于什么方面? js或者jquery如何实时获取浏览器的高度和宽度的? jquery或js 如何时时获取浏览器当前的宽和高,只要浏览器宽高一变就 ... 如何用 js 取得浏览器的高度并赋值给div js获取了浏览器页面高度,怎么赋值给html标签 【急】高分求完整的js获取浏览器个要素高度宽度值的方法!!! js如何实现获取浏览器大小