如何使用 JavaScript 检测屏幕 DPI

2022-08-30 21:53:27

到目前为止,我发现的唯一方法是获得具有一英寸的测试元素的偏移宽度,偏移高度:http://www.infobyip.com/detectmonitordpi.phpdivheightwidth

有没有办法通过JavaScript来检测屏幕DPI?

谢谢

阿塔拉。


答案 1

在webkit中,您可以检测用户是否具有所谓的“高dpi屏幕”,只需从以下位置检索值:

window.devicePixelRatio

正常 dpi 屏幕将返回 1。iPhone 4将返回2,但1.8或2.12等数字也是可能的。


答案 2
<div id='testdiv' style='height: 1in; left: -100%; position: absolute; top: -100%; width: 1in;'></div>
<script type='text/javascript'>
    dpi_x = document.getElementById('testdiv').offsetWidth;
    dpi_y = document.getElementById('testdiv').offsetHeight;
</script>

然后,您可以使用JQuery将其发送到您的服务器dpi_xdpi_y

http://jsfiddle.net/sxfv3/