Comment faire pour obtenir l'écran de la taille physique (c'est à dire en pouces)?

Je suis à essayer de comprendre comment obtenir les dimensions physiques de l'écran de l'appareil via Javascript. Jusqu'à présent, ma conclusion est qu'il est actuellement impossible, mais j'espère que quelqu'un peut me prouver le contraire :).

Pour l'instant j'ai essayé d'obtenir cette information par trouver le PPP du périphérique, mais il semble y avoir aucun moyen d'obtenir la valeur correcte ici, comme tous les appareils que j'ai testé (certains HDPI & XHDPI les appareils Android, un iPhone4S, un iPad 2 et un iPad 3) rapport de 96 PPP.

La première méthode d'obtention de la DPI j'ai essayé est celui que vous pouvez trouver partout sur internet: créer un div avec un CSS largeur de 1in, son clientWidth ou offsetWidth et il y a votre DPI. Ne fonctionne pas, tous les périphériques rapport 96.

La seconde méthode a l'aide de la la résolution des requêtes de média, quelque chose le long des lignes de:

for (var i=90; i < 400; i++) {
    if (matchMedia('(resolution: ' + i + 'dpi)').matches) {
       return i;
    }
}

Je pensais que c'était une solution intelligente, mais, malheureusement, qui renvoie 96.

Est t-il quelque chose que je peux essayer?

Je propose de le vérifier ce thread, si vous ne l'avez pas déjà fait. Je ne pense pas que c'est possible - au moins, plus-o-moins de précision.
Je n'ai pas de meilleure idée que de demander à l'utilisateur.

OriginalL'auteur Felix | 2012-06-29