Maison >interface Web >tutoriel CSS >Comment détecter avec précision les DPI/PPI de JS/CSS face à la tromperie des appareils ?
Maintenir une expérience utilisateur cohérente sur tous les appareils avec différents paramètres DPI/PPI est crucial pour les applications modernes qui génèrent des images haute résolution. Cependant, la détection précise du DPI/PPI de l'appareil présente des défis, car les méthodes traditionnelles peuvent ne pas fournir de résultats fiables.
Votre approche initiale utilisant un élément avec un "fixe" 1in" de largeur en CSS et vérifier son offsetWidth semble raisonnable. Cependant, il est connu que l'iPhone déclare erronément son PPI, donnant une fausse valeur de 96ppi. Cette fausse lecture rend cette méthode peu fiable.
Une autre solution potentielle consiste à récupérer les dimensions d'affichage de l'appareil en pouces et à les diviser par la largeur en pixels. Cependant, accéder à ces dimensions n'est pas simple en JS/CSS.
Heureusement, il existe une méthode fiable pour obtenir le DPI/PPI de l'appareil :
<code class="javascript">const testDiv = document.createElement('div'); testDiv.style.height = '1in'; testDiv.style.left = '-100%'; testDiv.style.position = 'absolute'; testDiv.style.top = '-100%'; testDiv.style.width = '1in'; document.body.appendChild(testDiv); const DPI_X = testDiv.offsetWidth * window.devicePixelRatio; const DPI_Y = testDiv.offsetHeight * window.devicePixelRatio; console.log(DPI_X, DPI_Y);</code>
Cette méthode fournit des lectures DPI/PPI précises sur divers appareils, y compris ceux qui peuvent déclarer de manière erronée leur PPI en utilisant les méthodes traditionnelles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!