如果您在JavaScript/Mootools中这样做,则您的朋友是您的朋友。您可以以英寸或厘米的尺寸或什至点(1/72英寸)指定尺寸。如果您绝对需要DPI出于任何原因,即使您可以在这些单元中指定尺寸,只需大小您使用的“可解析” div尺寸,然后从翻译的像素大小中计算出来。
Edit:
这是一个很好的观点;浏览器倾向于假设默认DPI(我认为72或96)并使用它来伪造它。 韦尔,如果您需要像您要求的那样精确尺寸,那您就不幸了。您将永远无法读取浏览器所打开的监视器的当前分辨率和该显示器的“可见屏幕区域”的当前分辨率。您绝对不会通过JavaScript得到。 我建议您根据CSS单元进行浏览器的操作和大小的默认假设。然后,您可以允许用户使用您提到的方法“调整尺寸”,但是只有必要的话。使用DPI计算作为用户会话的一部分或cookie存储的DPI计算。
随机地,一旦Microsoft修复了此错误,您可以使用Silverlight的“设备独立单元”进行准确的缩放。
你不能。 DPI是屏幕的像素分辨率和显示器的物理尺寸的函数。我知道的任何浏览器接口都不可用。我认为您将无法获得精确的结果 - 例如,您可以使用监视器调整图片大小。我宁愿坚持使用用户驱动的方法,尽管您可以F.E.检测第一个估计的屏幕分辨率。
没有在目标计算机上运行代码的浏览器不可能。如果您可以在目标计算机上安装一些内容,则可以对监视器进行足够的确定来计算此内容。
如果用户使用不告知计算机DPI或型号的监视器,则是不可能的。
如果用户使用公共移动设备的内置屏幕,则可以确定DPI如下:
使用例如
uaparser在表格中,该设备模型的物理屏幕大小以英寸为英寸,例如DPI计算器 / PPI计算器(其中包含设备模型列表)
px
toke pinch-Zoom(
take
devicePixelRatio
值可能会受到浏览器默认缩放设置 / OS量表因子(我尚未检查)的影响,并使用
devicePixelRatio
与上述YESVIZ表中列出的默认值进行比较。