如何获取屏幕的宽度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取屏幕的宽度相关的知识,希望对你有一定的参考价值。

参考技术A 问题一:js 中怎么获取当前屏幕的宽度 document.documentElement.clientWidth 这个方法返回页面在当前窗口中可见部分的宽度(不包括滚动条宽度);
window.innerWidth 这个方法返回页面在当前窗口中可见部分宽度(包括滚动条宽度);
window.outerWidth 返回浏览器窗口自身宽度,包括菜单和边框;
screen.width 返回设备的(屏幕宽度)

问题二:js网页如何获取手机屏幕宽度 ]@]@]
@sssss

var x = navigator;
var w=window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
var h=window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
document.getElementById(p1).innerhtml=屏幕分辨率:+screen.width + * + screen.height+内部窗口: + w + * + h

不知道是不是这个 屏幕分辨率 :pc上的桌面分辨率 。手机上是 一个型号固定的分辨率比如
华为8813的分辨率是480*854。。 内部窗口是 改变窗口大小刷新一下就有新的数据

问题三:用javascript 怎样才能很好的获取手机的屏幕宽度和高度 一般来说在移动浏览器上是拿不到屏幕真实分辨率的,因为页面渲染是在一个叫viewport的页面绘制区域内(说的通俗点就是手机浏览器是用一个虚拟的屏幕来显示网页的)。viewport和屏幕的真实尺寸并不是对应的,如在Safari Mobile中viewport默认宽度(320px)是屏幕真实尺寸(640px)的一半,这里不管是用window.innerHeight还是window.screen.width拿到的都是320px。当然我们可以通过meta设置改变viewport的比例,如initial-scale=.5就可以让viewport和屏幕一致的尺寸,但这个比例在不同的手机上并不一定是2倍关系,特别是android手机,在大屏手机(5寸以上)上这个值是3倍甚至4倍。而且改变viewport比例后可能会导致后续制作中出现一系列问题。所以我认为不要纠结一定要拿到屏幕真实尺寸,就把viewport的尺寸当成屏幕的尺寸进行页面设计和制作肯定是没有问题的。
有一个非常曲线的解决办法,就是:css的媒体查询(@media)是能够检测屏幕尺寸(其实是浏览器窗体的真实尺寸,并不是屏幕的真实物理尺寸,介意的朋友就不要看了)的,通过它来给网页内的某个元素设置一个特殊的属性,然后再用JavaScript来获取这个属性值。当然这样只能获得一个阶梯值(比如480px到540px之间、540px到600px之间等等),不是精确值,所以可能得不偿失,因此我是不推荐的。

问题四:如何获得当前屏幕的高度 window.onload = function() 获取屏幕高度 document.documentElement.clientHeightconsole.log(document.documentElement.clientHeight); 获取屏幕宽度 document.documentElement.clientWidthconsole.log(document.documentElement.clientWidth);

问题五:html中 如何获取屏幕宽度?? 把以下这段代码放到之间或之间预览即可看到数据

/*将获取的值存到变量里*/
width_screen=screen.width;
height_screen=screen.height;
availWidth_screen=screen.availWidth;
availHeight_screen=screen.availHeight;
colorDepth_screen=screen.colorDepth;
/*end*/
/*输出值*/
document.write(你的屏幕宽为:+width_screen+
你的屏幕高为:+height_screen+
你的屏幕可用宽为:+availWidth_screen+
你的屏幕可用高为:+availHeight_screen+
你的颜色设置所有为数为:+colorDepth_screen);
/*end*/

问题六:怎么用jquery来获取屏幕的宽度和高速 $(window).width();$(window).height();严格来说,获取window才对

问题七:javascript怎么获取屏幕大小 1
2
3
4
5
6
7
8
9

window.onload = function()
获取屏幕高度 document.documentElement.clientHeight
console.log(document.documentElement.clientHeight);
获取屏幕宽度 document.documentElement.clientWidth
console.log(document.documentElement.clientWidth);


问题八:php怎么获取屏幕的宽度与高度? 10分 PHP是无法获取屏幕的高度和宽度的,你可以用JS来获取
Javascript:
网页可见区域宽: 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
JQuery:
$(document).ready(function()  alert($(window).height()); 浏览器当前窗口可视区域高度  alert($(document).height()); 浏览器当前窗口文档的高度  alert($(document.body).height());浏览器当前窗口文档body的高度  alert($(document.body).outerHeight(true));浏览器当前窗口文档body的总高度 包括border padding margin  alert($(window).width()); 浏览器当前窗口可视区域宽度  alert($(document).width());浏览器当前窗口文档对象宽度  alert($(document.body).width());浏览器当前窗口文档body的宽度  alert($(document.body).outerWidth(true));浏览器当前窗口文档body的总宽度 包括border padding margin  )

问题九:怎样用 JavaScript 准确获取手机屏幕的宽度和高度 屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
网页可见区域宽:document.body.offsetWidth
网页可见区域高:document.body.offsetHeight

问题十:Android开发 怎样获取屏幕的宽高是多少厘米 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸
下面的代码即可获取屏幕的尺寸。
在一个Activity的onCreate方法中,写入如下代码:
[java] view plain copy print?
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; 屏幕宽度(像素)
int height = metric.heightPixels; 屏幕高度(像素)
float density = metric.density; 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; 屏幕密度DPI(120 / 160 / 240)
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; 屏幕宽度(像素)
int height = metric.heightPixels; 屏幕高度(像素)
float density = metric.density; 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; 屏幕密度DPI(120 / 160 / 240)
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
[html] view plain copy print?

>

如何获取 android Honeycomb 系统的屏幕宽度和高度?

【中文标题】如何获取 android Honeycomb 系统的屏幕宽度和高度?【英文标题】:How can I get android Honeycomb system's screen width and height? 【发布时间】:2011-10-31 23:15:59 【问题描述】:

我的代码:

Display display = activity.getWindowManager().getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);

System.out.println("screen width:"+displayMetrics.widthPixels);
System.out.println("screen heigth:"+displayMetrics.heightPixels);

当我在 android Honeycomb 系统中运行这个程序时,输出是 800 和 1232 但是设备的屏幕是800_1280,我可以得到吗? 谢谢。

【问题讨论】:

看起来它只是告诉你窗口大小 - 如果你将它设置为全屏,你可能会得到完整大小 您如何获得这些维度值? 1232 的高度实际上是屏幕尺寸减去导航栏高度(底部带有返回、主页等按钮的栏)(即 1280 - 48 = 1232)。因此,您将获得 Activity 的可用屏幕空间(假设您将其设置为无标题栏)。问题是我尝试了与您相同的代码,但我得到了 800x1280 的绝对屏幕尺寸返回给我。我实际上想知道 YOU 如何让它返回 1232。我在 3.1 版上测试了我的代码 【参考方案1】:

这段代码对我有用(如果您不介意使用未记录的方法):

Display d = getWindowManager().getDefaultDisplay();
int width, height;

Method mGetRawH;
Method mGetRawW;
try 
    mGetRawH = Display.class.getMethod("getRawWidth");
    mGetRawW = Display.class.getMethod("getRawHeight");
    width = (Integer) mGetRawW.invoke(d);
    height = (Integer) mGetRawH.invoke(d);
 catch (NoSuchMethodException e) 
    e.printStackTrace();
 catch (IllegalArgumentException e) 
    e.printStackTrace();
 catch (IllegalAccessException e) 
    e.printStackTrace();
 catch (InvocationTargetException e) 
    e.printStackTrace();


//You should care about orientation here
int o = getResources().getConfiguration().orientation;
if (o == Configuration.ORIENTATION_PORTRAIT) 
    if (width > height) 
        int tmp = width;
        width = height;
        height = tmp;
    
 else if (o == Configuration.ORIENTATION_LANDSCAPE) 
    if (width < height) 
        int tmp = width;
        width = height;
        height = tmp;
    


Log.d("d", "w=" + width + " h=" + height);

【讨论】:

【参考方案2】:

其实设备全屏width=800 and height=1280(including status bar, title bar)。如果你运行你的代码来获取显示大小,系统不会包含状态栏高度和标题栏高度,所以你会得到height as 1232 (1280-(status bar height + title bar height))

【讨论】:

【参考方案3】:

1280 x 752 - 横向 800 x 1232 - 纵向

这 48 px 用于 Andriod 默认通知栏...

【讨论】:

以上是关于如何获取屏幕的宽度的主要内容,如果未能解决你的问题,请参考以下文章

如何获取iOS设备屏幕的高度和宽度[重复]

如何使用滚动条可靠地获取屏幕宽度

微信小程序如何获取屏幕宽度

如何从其他类获取宽度屏幕[重复]

如何获取 android Honeycomb 系统的屏幕宽度和高度?

网页如何获取手机屏幕宽度