检测显示器的物理尺寸

4
我想获取我的显示器的显示尺寸。
是否可以使用JavaScript或Flash实现?
我尝试了以下函数:
var dpi_x = document.getElementById('testdiv').offsetWidth;
        var dpi_y = document.getElementById('testdiv').offsetHeight;
        var width_in = screen.width / dpi_x;
        var height_in = screen.height / dpi_y;
        var diagonal_in = Math.round(10 * Math.sqrt(width_in * width_in + height_in * height_in)) / 10;

但是它不显示固定对角线值...因为当我改变显示器的分辨率时...

而我想要固定的尺寸,比如16.5英寸...我的意思是,它应该针对任何特定的监视器保持固定。


我不希望它基于屏幕分辨率..因为当我改变分辨率时,它会有所不同.. - Ravi Tuvar
我不确定这是否可能。为什么你想检测物理尺寸而不是分辨率呢?一个对角线为x英寸的显示器可能设置为多个分辨率之一。 - Jack Franklin
1
嗨,杰克。谢谢你的回复。但是我需要根据对角线设置我的视频对象大小,因为我们正在开发流应用程序,并希望在任何设备上显示流,如手机、台式机、笔记本电脑、智能电视等。因此,我需要知道设备的尺寸! - Ravi Tuvar
@RaviTuvar,你的<div id="testdiv"/>被设置成一英寸高了吗? - Simon MᶜKenzie
1
@SimonMcKenzie 是的,就像这样..<div id='testdiv' style='height: 1in; left: -100%; position: absolute; top: -100%; width: 1in;'></div> - Ravi Tuvar
1
@RaviTuvar,你的代码发生了什么?在我看来它是正确的,假设你的浏览器准确地呈现了你的一英寸高的div(当然这取决于操作系统、浏览器以及屏幕是否准确地向操作系统报告其DPI/尺寸)- 它看起来像是1英寸高吗? - Simon MᶜKenzie
1个回答

4

无法检测物理尺寸,分辨率是最接近的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接