Inhaltsverzeichnis
Erkennung der System-DPI/PPI anhand von JS/CSS
Hintergrund
Gerät lügt: Ein falscher 96ppi-Wert
Alternativer Ansatz: Abmessungen der Geräteanzeige
Lösung: DevicePixelRatio
Heim Web-Frontend CSS-Tutorial Wie kann man DPI/PPI von JS/CSS angesichts der Gerätetäuschung genau erkennen?

Wie kann man DPI/PPI von JS/CSS angesichts der Gerätetäuschung genau erkennen?

Oct 24, 2024 am 05:32 AM

How to Accurately Detect DPI/PPI from JS/CSS in the Face of Device Deception?

Erkennung der System-DPI/PPI anhand von JS/CSS

Hintergrund

Die Aufrechterhaltung einer konsistenten Benutzererfahrung auf allen Geräten mit unterschiedlichen DPI/PPI-Einstellungen ist von entscheidender Bedeutung für moderne Anwendungen, die hochauflösende Bilder erzeugen. Die genaue Erkennung der DPI/PPI des Geräts stellt jedoch Herausforderungen dar, da herkömmliche Methoden möglicherweise keine zuverlässigen Ergebnisse liefern.

Gerät lügt: Ein falscher 96ppi-Wert

Ihr erster Ansatz unter Verwendung eines Elements mit einem festen „ Die Angabe einer Breite von 1 Zoll in CSS und die Überprüfung der OffsetWidth erscheinen sinnvoll. Es ist jedoch bekannt, dass das iPhone seinen PPI falsch angibt und einen falschen Wert von 96 ppi angibt. Dieser falsche Messwert macht diese Methode unzuverlässig.

Alternativer Ansatz: Abmessungen der Geräteanzeige

Eine andere mögliche Lösung besteht darin, die Abmessungen der Geräteanzeige in Zoll abzurufen und sie durch die Breite in Pixel zu dividieren. Allerdings ist der Zugriff auf diese Dimensionen in JS/CSS nicht einfach.

Lösung: DevicePixelRatio

Glücklicherweise gibt es eine zuverlässige Methode, um die Geräte-DPI/PPI zu erhalten:

  1. Verwenden Sie window.devicePixelRatio: Diese Eigenschaft gibt das Verhältnis von Pixeln auf dem Bildschirm des Geräts zu CSS-Pixeln an.
  2. Erstellen Sie ein Testelement: Erstellen Sie ein unsichtbares Element mit eine Höhe und Breite von 1 Zoll in CSS.
  3. Anzeigeauflösung abrufen: Berechnen Sie den DPI/PPI, indem Sie die Offset-Breite und -Höhe des Elements mit dem devicePixelRatio multiplizieren.
<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>
Nach dem Login kopieren

Diese Methode liefert genaue DPI/PPI-Messwerte auf verschiedenen Geräten, einschließlich solchen, die ihren PPI mit herkömmlichen Methoden möglicherweise falsch angeben.

Das obige ist der detaillierte Inhalt vonWie kann man DPI/PPI von JS/CSS angesichts der Gerätetäuschung genau erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Aufbau einer Ethereum -App mit Redwood.js und Fauna Aufbau einer Ethereum -App mit Redwood.js und Fauna Mar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Mar 18, 2025 am 11:23 AM

Unabhängig davon, in welcher Phase Sie als Entwickler Sie befinden, haben die Aufgaben, die wir erledigen - ob groß oder klein - einen enormen Einfluss auf unser persönliches und berufliches Wachstum.

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Apr 02, 2025 pm 06:17 PM

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Apr 03, 2025 am 10:30 AM

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Vergleich von Browsern für reaktionsschnelles Design Vergleich von Browsern für reaktionsschnelles Design Apr 02, 2025 pm 06:25 PM

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

See all articles