使用javascript查找屏幕尺寸,以英寸为单位,而不是像素
find screen dimensions in inches not pixels using javascript
我读了很多关于SO的问题,关于以像素为单位检测屏幕尺寸的最佳方法,这最终取决于分辨率来找到实际的屏幕尺寸。
我知道有些移动设备屏幕很小(比如4英寸),但分辨率很高。虽然有些设备有大屏幕(比如7英寸的标签),但分辨率很低。
所以当你想向用户展示你的页面时,你真的需要以英寸或厘米为单位的屏幕尺寸来提供最好的视觉。
所以我问:有没有办法找出设备的屏幕尺寸(以英寸而不是像素为单位)?我知道可以,只要我们知道解决方案!因为我们可以通过屏幕宽度和高度来计算尺寸
感谢任何主意!
一旦你得到了以像素为单位的屏幕分辨率,你可以用一个隐藏的div:
计算dpi<div id="dpi" style="height: 1in; width: 1in; left: 100%; position: fixed; top: 100%;"></div>
js
var dpi_x = document.getElementById('dpi').offsetWidth;
var dpi_y = document.getElementById('dpi').offsetHeight;
然后计算出以英寸为单位的分辨率:
var width = screen.width / dpi_x;
var height = screen.height / dpi_y;
示例现在,据我所知,没有可靠的方法可以准确地获得设备的屏幕宽度。所有内容(包括英寸,1in == 96px)都以某种方式基于屏幕分辨率。
现在,我知道这可能不是解决所有人的问题,但希望它能帮助一些人。这对我很有帮助,因为我想让我的页面在移动用户中表现得不同,而我最初的攻击计划是基于屏幕尺寸。我最后做的是替换行
if (screen.height <= 768)
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent))
作为免责声明,我还应该提到,这是来自几年前的一个答案,所以有些设备可能不包括在内。
来源:https://stackoverflow.com/a/26577897/8082614
相关文章:
- 获取以屏幕像素为单位的旋转SVG元素的边界
- GridStack项的高度和宽度(以像素为单位)
- 远距离变换元素的宽度/高度(以像素为单位)
- 以非像素为单位获取HTML DOM元素的CSS高度,在我的例子中是英寸
- .height() 以百分比返回高度,如何以像素为单位获取它
- 如何从顶部获取窗口位置(以像素为单位)
- 以像素为单位获取整个页面的高度
- 获取返回的数据表的大小(以像素为单位)
- 裁剪后的图像大于 coppit.js 中以像素为单位的内在大小
- 如何查找可滚动页面的垂直长度(以像素为单位)
- 使用 snap SVG,如何以像素为单位计算 SVG 文件的整个路径
- 为什么我的圆圈不会以“像素”为单位显示
- 弹性滑块 IMG 设置为 768 像素及以下的0x0
- jQuery滚动事件:如何确定滚动量(滚动增量),以像素为单位
- Pixi.js / WebGL方法,用于将数据模型坐标转换为画布像素坐标
- 如何获得以像素为单位的上传图像分辨率?(上传前)
- 使用RaphaelJS将路径缩放为纸张大小或以像素为单位设置路径尺寸
- jQuery获取以像素为单位的高度
- 如何将每个像素为8位的灰度图像转换为每个像素仅具有3位表示的图像
- 如果源设置为透明像素,图像标签背景图像不显示