3
if (window.matchMedia("(min-width: 320px)").matches) {
    alert("width 320"); // works
}
if (window.matchMedia("(min-width: 768px)").matches) {
    alert("width 768");
}
if (window.matchMedia("(min-resolution: 2.4dppx)").matches) {
    alert("2.4dppx");
} 
if (window.matchMedia("(min-resolution: 217dpi)").matches) {
    dpi = 217;
} 
if (window.matchMedia("(min-resolution: 252dpi)").matches) {
    dpi = 252;
} 
if (window.matchMedia("(min-resolution: 331dpi)").matches) {
    dpi = 331;
} 
if (window.matchMedia("(min-resolution: 332dpi)").matches) {
    dpi = 332;
    }

Lumia 920 でテストしていますwidth 320が、DPI を知りたいです。すべてを試しましたが、機能しない最小解像度だけです。

4

1 に答える 1

2

これは、最小幅しか定義されていないためだと思います。min-width:320px を検索している場合 - このクエリは常に満たされます - 解像度が高くても。次のようなものを試してください

if (window.matchMedia("(min-width: 320px) and (max-width: 767)").matches) {
    alert("width 320"); // works
}//one px less then the query in next statement
于 2013-05-05T12:49:01.487 に答える