我正在研究一种独特的应用程序,它需要根据显示的设备生成特定分辨率的图像.因此,在常规Windows浏览器(96ppi),iPhone(163ppi),Android G1(180ppi)和其他设备上的输出是不同的.我想知道是否有办法自动检测到这一点.
我最初的研究似乎说不.我看到的唯一建议是在CSS中创建一个宽度指定为"1in"的元素,然后检查它的offsetWidth(另请参阅如何通过javascript访问屏幕显示的DPI设置?).有道理,但iPhone用这种技术骗我,说它是96ppi.
另一种方法可能是以英寸为单位获取显示尺寸,然后除以宽度(以像素为单位),但我不知道如何做到这一点.
我正在使用jQuery Mobile和PhoneGap创建一个Web应用程序.有一个图表,如果用户使用大屏幕,我想在此图表上显示更多点,因为点是可点击的,并且不应该太近(物理上).
例如:如果有人有iPhone,我想在折线图上显示N个点.如果他有一台iPad,我想显示2xN分(因为iPad的屏幕体积更大),但如果他有一些像iPhone一样体积小的新手机,但屏幕上有很多像素(如iPad),我想要显示N个点,因为这些点在物理上很小(并且更靠近在一起).
那么有没有办法获得这些数据?另一种方法是确定设备是否为平板电脑.