IE9与devicePixelRatio等效

时间:2012-01-11 22:20:37

标签: cross-browser internet-explorer-9 media-queries porting dpi

是否有人发现了一种可靠的方法来确定Windows Phone 7.5(芒果)的设备像素比率。

它基于IE9。在基于Webkit的浏览器中,我们使用window.devicePixelRatio或使用带有相应媒体查询的window.matchMedia()。

在Windows Mobile中,我可以通过以下方式确定像素比率: screen.deviceXDPI / screen.logicalXDPI 虽然这看起来只有在页面完全呈现后才可靠。在此之前,deviceXDPI报告与logicalXDPI

相同

有没有人找到解决方案?

感谢您提供任何帮助/建议

1 个答案:

答案 0 :(得分:0)

使用(min/max-)resolution作为媒体查询中的等效测试:

@media (min-resolution: 1.5dppx), (min-resolution: 144dpi), (-webkit-min-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2) {}

或通过matchMedia:

if (window.matchMedia) 
  {
  if (window.matchMedia('(resolution: 96dpi)').matches) { }
  // resolution feature & dppx unit
  if (window.matchMedia('(min-resolution: 1dppx)').matches) { }
  // -webkit-device-pixel-ratio feature
  if (window.matchMedia('(-webkit-min-device-pixel-ratio: 1)').matches) { }
  // -o-device-pixel-ratio feature
  if (window.matchMedia('(-o-min-device-pixel-ratio: 1/1)').matches) { }
  }

<强>参考