2013-05-01 1 views
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; 
    } 

Je teste sur Lumia 920 et seulement width 320 œuvres, aucun autre, je veux connaître le DPI. Je ai tout essayé, c'est juste min-résolution qui ne fonctionne pas.média détection de requête sur Windows Mobile

+0

Selon [la spécification] (http://www.nokia.com/global/products/phone/lumia920/specifications/) toutes vos requêtes doivent correspondre. – Pavlo

+0

Exactement, mais ils ne le sont pas. :( – 3zzy

Répondre

2

Je pense que c'est parce que vous avez seulement min-width défini. si vous recherchez min-width: 320px - cette requête est toujours rencontrée - même si vous avez une plus grande résolution. Essayez quelque chose comme

if (window.matchMedia("(min-width: 320px) and (max-width: 767)").matches) { 
    alert("width 320"); // works 
}//one px less then the query in next statement 
Questions connexes