面對設備欺騙,如何從JS/CSS準確檢測DPI/PPI?
從JS/CSS 偵測系統DPI/PPI
背景
在具有不同DPI/PPI 設定的裝置之間保持一致的使用者體驗至關重要適用於生成高解析度影像的現代應用程式。然而,準確檢測設備的 DPI/PPI 存在挑戰,因為傳統方法可能無法提供可靠的結果。
裝置說謊:錯誤的 96ppi 讀數
您使用具有固定「的元素的初始方法CSS 中的 1in" 寬度並檢查其 offsetWidth 似乎是合理的。然而,眾所周知,iPhone 會誤報其 PPI,給出 96ppi 的誤差值。這種錯誤的讀數使該方法不可靠。
替代方法:裝置顯示尺寸
另一個潛在的解決方案是擷取裝置顯示尺寸(以英吋為單位)並將其除以寬度(以像素為單位)。然而,在 JS/CSS 中存取這些尺寸並不簡單。
解決方案:DevicePixelRatio
解決方案:DevicePixelRatio
- 幸運的是,有一個可靠的方法來獲取設備DPI/PPI:
- 使用window.devicePixelatio:
- 此屬性提供裝置螢幕上的像素與CSS 像素的比率。 建立測試元素:
- 使用下列指令建立不可見元素CSS 中的高度和寬度均為 1 英吋。 擷取顯示解析度:
<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>
登入後複製
以上是面對設備欺騙,如何從JS/CSS準確檢測DPI/PPI?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
如何修復KB5055612無法在Windows 10中安裝?
4 週前
By DDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
<🎜>:種植花園 - 完整的突變指南
3 週前
By DDD
北端:融合系統,解釋
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)
