javascript - 使用JS在4k显示器上查找屏幕尺寸

标签 javascript width screen monitor

我正在制作照片轮播。目的是在一行上显示 x 张图片,其中 x 取决于视口(viewport)大小。我所说的视口(viewport)是指浏览器窗口内没有滚动条的区域。照片的大小调整为宽度 200 如果视口(viewport)宽度为 2000,我可以获得 10 张照片 (200*10=2000)(我保持算法简单)

我的屏幕分辨率是 3840x2160。我扩大了浏览器以占据整个屏幕。当我使用: $(window).width() 时,我得到 1707,而 screen.width 则得到 1707。绝对不是 3840。

当我调整浏览器大小,使其占据大约一半的屏幕时,我得到: $(window).width() 为 929,screen.width 为 1706。

对于我使用 Edge、IE11、FF 和 Chrome 46 的浏览器,我遇到了大致相同的问题。

我的桌面显示器也是 4k,据我所知,它由两个 1920x1080 面板组成,总共 3840x2160。如果这是真的,在我的笔记本电脑 4k 显示器上,如果我占据整个屏幕,我应该使用 screen.width 获得 1920 的宽度,但我没有。

我需要考虑到大多数浏览此网站的人都没有 4k 显示器。

关于如何获取 4k 显示器上的屏幕宽度有什么想法吗?

最佳答案

也许您可以利用 window.devicePixelRatio 属性。

它应该为您提供 12 等。将 window.innerWidthwindow.innerHeight 乘以这个值。

var width = window.innerWidth * window.devicePixelRatio;
var height = window.innerHeight * window.devicePixelRatio;

在配备 4K UHD 屏幕 (3840 * 2160) 显示分辨率的戴尔笔记本电脑上,Windows 显示设置配置为 250% 比例和布局,我得到以下结果:

enter image description here

enter image description here

MDN 文档:https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio

enter image description here

关于javascript - 使用JS在4k显示器上查找屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38161461/

相关文章:

java - Android 屏幕在整个应用程序期间保持打开状态

javascript - 列类型的 Cassandra 代码?

javascript - jQuery .each() 获取多个div的值

html - 如何在不指定确切宽度的情况下将文本宽度与图像匹配?

html - Firefox table css 生成tbody killing table width

ios - 为什么我的启动屏幕图像没有出现?

android - 在 Android 上禁用屏幕旋转动画

javascript - 谷歌地图上针脚太多的最佳解决方案

javascript - 字段中的字符

javascript - jQuery 的动态宽度 = 高度