如何获取屏幕的宽度
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 默认通知栏...
【讨论】:
以上是关于如何获取屏幕的宽度的主要内容,如果未能解决你的问题,请参考以下文章