是否有一种方法适用于所有浏览器?
当前回答
你是指显示分辨率(例如72点每英寸)还是像素尺寸(浏览器窗口目前是1000 x 800像素)?
屏幕分辨率可以让你知道10像素的线有多粗,单位是英寸。像素尺寸告诉你可用屏幕高度的百分比将被10像素宽的水平线所占据。
仅通过Javascript无法知道显示分辨率,因为计算机本身通常不知道屏幕的实际尺寸,只知道像素的数量。72 dpi是通常的猜测....
请注意,关于显示分辨率有很多困惑,人们经常使用这个术语而不是像素分辨率,但这两者是非常不同的。看到维基百科
当然,你也可以用点/厘米来测量分辨率。还有一个令人费解的非方形圆点问题。但我离题了。
其他回答
function getScreenWidth()
{
var de = document.body.parentNode;
var db = document.body;
if(window.opera)return db.clientWidth;
if (document.compatMode=='CSS1Compat') return de.clientWidth;
else return db.clientWidth;
}
原来的答案
Yes.
window.screen.availHeight
window.screen.availWidth
更新2017-11-10
来自海啸的评论:
为了获得移动设备的原生分辨率,你必须与设备像素比相乘:window.screen.width * window.devicePixelRatio和window.screen.height * window.devicePixelRatio。这也适用于桌面,桌面的比率为1。
本的另一个回答是:
在JavaScript中,这将为你提供可用的宽度/高度: window.screen.availHeight window.screen.availWidth 对于绝对宽度/高度,使用: window.screen.height window.screen.width
请参见使用Javascript获取监视器屏幕分辨率和窗口。屏幕上的对象
你是指显示分辨率(例如72点每英寸)还是像素尺寸(浏览器窗口目前是1000 x 800像素)?
屏幕分辨率可以让你知道10像素的线有多粗,单位是英寸。像素尺寸告诉你可用屏幕高度的百分比将被10像素宽的水平线所占据。
仅通过Javascript无法知道显示分辨率,因为计算机本身通常不知道屏幕的实际尺寸,只知道像素的数量。72 dpi是通常的猜测....
请注意,关于显示分辨率有很多困惑,人们经常使用这个术语而不是像素分辨率,但这两者是非常不同的。看到维基百科
当然,你也可以用点/厘米来测量分辨率。还有一个令人费解的非方形圆点问题。但我离题了。
在JavaScript中,这将为你提供可用的宽度/高度:
window.screen.availHeight
window.screen.availWidth
对于绝对宽度/高度,使用:
window.screen.height
window.screen.width
上面两个代码都可以在没有窗口前缀的情况下编写。
喜欢jQuery吗?这适用于所有浏览器,但每个浏览器给出不同的值。
$(window).width()
$(window).height()
推荐文章
- 如何使用Jest测试对象键和值是否相等?
- 将长模板文字行换行为多行,而无需在字符串中创建新行
- 如何在JavaScript中映射/减少/过滤一个集?
- Bower: ENOGIT Git未安装或不在PATH中
- 添加javascript选项选择
- 在Node.js中克隆对象
- 为什么在JavaScript的Date构造函数中month参数的范围从0到11 ?
- 使用JavaScript更改URL参数并指定默认值
- 在window.setTimeout()发生之前取消/终止
- 如何删除未定义和空值从一个对象使用lodash?
- 检测当用户滚动到底部的div与jQuery
- 在JavaScript中检查字符串包含另一个子字符串的最快方法?
- 检测视口方向,如果方向是纵向显示警告消息通知用户的指示
- ASP。NET MVC 3 Razor:在head标签中包含JavaScript文件
- 禁用从HTML页面中拖动图像