[英]How to detect the screen DPI using JavaScript
到目前為止,我發現的唯一方法是獲取height
和width
為一英寸的測試div
元素的 offsetWidth、offsetHeight: http : //www.infobyip.com/detectmonitordpi.php
有沒有辦法通過 JavaScript 檢測屏幕 DPI?
謝謝,
阿塔拉。
在 webkit 中,您可以通過簡單地從以下位置檢索值來檢測您的用戶是否有所謂的“高 dpi 屏幕”:
window.devicePixelRatio
正常的 dpi 屏幕將返回 1。iPhone 4 將返回 2,但也可以使用 1.8 或 2.12 等數字。
<div id='testdiv' style='height: 1in; left: -100%; position: absolute; top: -100%; width: 1in;'></div>
<script type='text/javascript'>
dpi_x = document.getElementById('testdiv').offsetWidth;
dpi_y = document.getElementById('testdiv').offsetHeight;
</script>
然后您可以使用 JQuery 將dpi_x
和dpi_y
發送到您的服務器
到目前為止,還沒有標准的、支持無處不在的解決方案。
window.devicePixelRatio
,正如 laurens peeters 所建議的,如果你不關心 IE 或任何古代瀏覽器,比如 2013 年 1 月上旬(例如,Firefox 17),它確實有效。
請參閱Cross Browser Retina/High Resolution Media Queries (以及那里的各種評論和鏈接)以了解截至 2012 年底如何獲取此信息,但您必須經常再次搜索並調整代碼,直到最終得到某些信息標准化,並在每個瀏覽器中實現,具有足夠廣泛的版本采用,您可以不再關心舊版本......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.