


Bagaimana untuk Mengesan DPI/PPI dengan Tepat daripada JS/CSS dalam Menghadapi Penipuan Peranti?
Mengesan Sistem DPI/PPI daripada JS/CSS
Latar Belakang
Mengekalkan pengalaman pengguna yang konsisten merentas peranti dengan tetapan DPI/PPI yang berbeza-beza adalah penting untuk aplikasi moden yang menjana imej resolusi tinggi. Walau bagaimanapun, pengesanan DPI/PPI peranti dengan tepat memberikan cabaran, kerana kaedah tradisional mungkin tidak memberikan hasil yang boleh dipercayai.
Pembohongan Peranti: Bacaan 96ppi Palsu
Pendekatan awal anda menggunakan elemen dengan tetapan " 1in" lebar dalam CSS dan menyemak offsetWidthnya kelihatan munasabah. Walau bagaimanapun, iPhone telah diketahui salah melaporkan PPInya, memberikan nilai palsu 96ppi. Bacaan palsu ini menjadikan kaedah ini tidak boleh dipercayai.
Pendekatan Alternatif: Dimensi Paparan Peranti
Satu lagi penyelesaian yang berpotensi adalah untuk mendapatkan semula dimensi paparan peranti dalam inci dan membahagikannya dengan lebar dalam piksel. Walau bagaimanapun, mengakses dimensi ini tidak mudah dalam JS/CSS.
Penyelesaian: DevicePixelRatio
Nasib baik, terdapat kaedah yang boleh dipercayai untuk mendapatkan peranti DPI/PPI:
- Gunakan window.devicePixelRatio: Sifat ini menyediakan nisbah piksel pada skrin peranti kepada piksel CSS.
- Buat Elemen Ujian: Cipta elemen halimunan dengan ketinggian dan lebar 1 inci dalam CSS.
- Dapatkan Resolusi Paparan: Kira DPI/PPI dengan mendarabkan lebar dan tinggi mengimbangi elemen dengan devicePixelRatio.
<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>
Kaedah ini menyediakan bacaan DPI/PPI yang tepat pada pelbagai peranti, termasuk yang mungkin salah melaporkan PPI mereka menggunakan kaedah tradisional.
Atas ialah kandungan terperinci Bagaimana untuk Mengesan DPI/PPI dengan Tepat daripada JS/CSS dalam Menghadapi Penipuan Peranti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



API Peralihan Svelte menyediakan cara untuk menghidupkan komponen apabila mereka memasuki atau meninggalkan dokumen, termasuk peralihan svelte adat.

Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

Berapa banyak masa yang anda habiskan untuk merancang persembahan kandungan untuk laman web anda? Semasa anda menulis catatan blog baru atau membuat halaman baru, adakah anda memikirkan

Dengan pendakian harga bitcoin baru -baru ini lebih dari 20k $ USD, dan baru -baru ini melanggar 30k, saya fikir ia patut mengambil menyelam yang mendalam kembali ke dalam mewujudkan Ethereum

Tidak kira tahap tahap anda sebagai pemaju, tugas yang kami selesaikan -sama ada besar atau kecil -membuat kesan besar dalam pertumbuhan peribadi dan profesional kami.

Ia ' s! Tahniah kepada pasukan Vue untuk menyelesaikannya, saya tahu ia adalah usaha besar dan lama datang. Semua dokumen baru juga.

Perintah NPM menjalankan pelbagai tugas untuk anda, sama ada sebagai satu-satunya atau proses berjalan terus untuk perkara seperti memulakan pelayan atau menyusun kod.
