如何找出网页浏览者每英寸的像素数?

2024-03-16

谁能想到一种方法来发现用户的每英寸像素数?我想确保图像显示在网络浏览器中exactly我需要它的大小,因此使用分辨率(我可以从用户代理获得)和每英寸像素的组合我可以做到这一点。

但是,我不确定是否有任何方法可以发现用户的每英寸像素数,最好使用 JavaScript 或其他一些非侵入性方法。

有什么建议么?

Thanks,

CJ


您可以使用以下 JavaScript 函数来获取 DPI。

<script type="text/javascript">
   var dpi = {
      v: 0,
      get: function (noCache) {
         if (noCache || dpi.v == 0) {
            e = document.body.appendChild(document.createElement('DIV'));
            e.style.width = '1in';
            e.style.padding = '0';
            dpi.v = e.offsetWidth;
            e.parentNode.removeChild(e);
         }
         return dpi.v;
      }
   }

    alert(dpi.get(true));  // recalculate
    alert(dpi.get(false)); // use cached value
</script>

然而我想它总会回归96在 Windows 机器上。

据我所知,操作系统无法确定视口的实际物理尺寸。因此,软件实际上很可能不可能知道现实生活中的 DPI。

然而,专业人士在某些部门确保屏幕上的 DPI 与现实生活中的 DPI 相匹配。在这种情况下,上面的 javascript 可能就足够了。

Note:
在 WinXP 和 Win2k 上的 Opera 9、IE6 & 7 和 Firefox 3.6 中测试了上述代码。

Update:
添加了 noCache 参数。但我怀疑它会有任何效果。我在上述 Windows 版本上使用 FireFox 和 Opera 的缩放功能对其进行了测试,无论缩放量是多少,它们都将 DPI 引用为“96”。看看移动设备对此有何看法将会很有趣。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找出网页浏览者每英寸的像素数? 的相关文章

  • 检测 vb.net 中的浏览器关闭事件

    我的网页如下所示
  • QML 适合所有分辨率的屏幕

    大家好 我的 QML 代码有问题 我犯了一个错误 我给元素设置了一定的大小 现在我在将应用程序放在其他设备上时遇到了问题 我会将我的代码粘贴到有宽度和高度的位置 以便您可以更改它以向我展示如何使用动态调整大小 我需要说我正在使用以下代码从
  • 各种 Android 设备的应用程序背景大小

    我正在为所有 Android 设备的应用程序设计背景 我在想图像的大小 以像素为单位 是多少 从开发者网站我发现了以下等式 px dp dpi 160 那么 px 取决于两个变量 首先 dp 我们有 xlarge screens are a
  • 如何在Python中设置像素的alpha值

    我正在尝试编辑image https drive google com file d 0B8JcwRV HVk0OURrcTFJczhmV2RlUGdMOG0ybldYUVRoamtF view usp sharing以一种将所有白色像素转
  • 如何在 Firefox 和 Chrome 中选择文档模式而不设置 DOCTYPE?

    我正在努力将使用旧网络标准创建的网页转换为支持现代网络浏览器 目前 该网页在 Internet Explorer 9 Firefox 和 Chrome 中以 Quirks 模式呈现 在 IE9 中 我可以选择 文档模式 在其中呈现我正在查看
  • 如何从 .NET 程序打开 Web 浏览器? Process.Start() 不起作用?

    我有一个 URL 我想在默认浏览器中启动它 我尝试过两种方法 Process Start http stackoverflow com 以及本节中详细介绍的一个其他问题 https stackoverflow com questions 8
  • 如何为 Safari 浏览器设置媒体查询

    media only screen and min width 480px and max width 767px 这是我的媒体查询如何修复它 如何设置 safari 网络浏览器 媒体查询不是为了浏览器检测而进行的 使用 javascrip
  • 更改 Chrome、Firefox 或 IE 上的 navigator.platform 以测试操作系统检测代码

    如何在 Chrome Firefox 或 Internet Explorer 最好是 Chrome 上欺骗 navigator platform 的值 看起来过去在 Firefox 上是可以实现的 但现在已经不再支持了 这是为了测试网站上的
  • XHR 调用是宏任务还是微任务?

    Ajax 调用被安排为微任务还是宏任务 浏览器之间有什么区别吗 在 JavaScript Ninja 的秘密 第二版一书中 作者指出网络事件被安排为宏任务 因此 XHR 回调与宏任务一起排队
  • 使用 Flash 在本地托管游戏?

    我只是找不到合适的谷歌搜索词 是否可以使用 Flash 或 Flash 兼容服务 来允许游戏中的玩家通过 Web 浏览器托管自己的游戏 使用自己的带宽 在某种程度上 从他们的计算机运行他们自己的游戏服务器 对于 Flash 浏览器内游戏 但
  • 禁用页面的浏览器打印选项(页眉、页脚、边距)?

    我在 SO 和其他几个网站上看到过以几种不同的方式提出这个问题 但大多数都太具体或过时了 我希望有人能在这里提供明确的答案 而不是迎合猜测 当有人在浏览器中打印时 有没有办法使用 CSS 或 javascript 更改默认打印机设置 当然
  • 如何在javafx中获取当前屏幕详细信息?

    我的电脑连接了多个显示器 从 javaFX 我可以获得主屏幕 但我需要了解当前舞台所在屏幕的屏幕详细信息 我怎样才能得到它 尝试使用获取矩形屏幕 http docs oracle com javafx 2 api javafx stage
  • 找出圆周上像素坐标的算法

    如果我知道圆心 圆半径和垂直角的像素坐标 如何找出圆圆周上一定角度的像素值 基本上 我试图在不同的时间绘制时钟的指针 1点 2点等 Let h是浮点数形式的小时 h 2 25将是 02 15 等 在 0 到 12 之间 cX cY 是中心的
  • 服务器返回网页 404,但页面在浏览器中显示正常 - 为什么?

    一个奇怪的网页横亘在我面前 作为一名开发人员 我必须解开这个谜团 在任何浏览器中访问网页时 一切似乎都很正常 网页按预期显示 但是当查看控制台时 服务器实际上返回了 404 状态代码 那么浏览器为什么要渲染页面呢 查看正文显示返回了有效的
  • 防止拖动不可拖动元素时出现重影?

    我正在创建一个利用 HTML5 拖放 API 的网站 但是 为了增加用户体验 我想在用户拖动不可拖动元素时防止出现重影 这可能吗 此外 几乎每个元素似乎 可拖动的 默认情况下 人们可以单击然后快速拖动浏览器中的几乎任何元素 这会创建一个重影
  • Android 已弃用屏幕尺寸?

    嘿 我需要在我的应用程序中获取屏幕的宽度 该应用程序将在 2 1 及更高版本上运行 我已经将其设置为如下所示 该方法已被弃用 我可能应该使用 getSize 或其他方式 但问题是 这是否适用于 3 0 和 4 0 等 Android 版本
  • Android 屏幕共享编程(Root)

    在 Android gt 5 中 是否可以从 root adb shell 进行屏幕共享 而无需通过 miracast 或 chromecast 进行用户交互 我正在寻找启用 禁用此功能的命令https support google com
  • 如何更改 Firefox 插件上的脚本位置?

    制作 Firefox 插件的最简单方法是什么 它重复了这个 chrome 功能 chrome webRequest onBeforeRequest addListener function info if info url indexOf
  • 像素到厘米?

    我只是想知道像素单位是否是不变的 以及我们是否可以从像素转换为厘米 如同这个问题 https stackoverflow com questions 139655 how to convert pixels to points px to
  • 在 Web 浏览器中禁用 F5 [重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器的后退按钮 https stackoverflow com questions 961188 disable browsers back button 如何禁用浏览器上的 F5 刷新 htt

随机推荐

  • 在 Ruby on Rails 5 中禁用 ActiveRecord

    我是 Rails 的新手 我想在 Rails 5 中禁用 ActiveRecord 我已经找到了几个答案Here https stackoverflow com questions 28319002 how do i remove acti
  • 将整数列表传递给 GET REST API

    我想从前端的数据库中获取实体列表 所以我在 Spring MVC 中编写了 POST REST HTTP 调用 但我读过 HTTP 文档 其中说每当您必须从数据库检索数据时 更喜欢 GET 调用 那么 是否有任何我可以将 Angular J
  • 如何在android中加载低质量然后高质量的图像(就像WhatsApp个人资料图像)

    我正在寻找一种可以使用的设计模式 以便在 android recyclerView 中我可以以低质量快速加载图像 然后还可以调用高质量图像将 之后重写低质量图像 我经常看到先加载低质量图像 然后再加载高质量图像 但是 这是如何在回收器视图的
  • Javascript 在日期对象本身中设置时区,如 setTimeOffset() [重复]

    这个问题在这里已经有答案了 我想更改 Date 对象本身的时区 因为设备 网络浏览器 本身不支持时区 我怎么改变它 例如 var date new Date Value is Mon Jun 19 2017 10 00 08 GMT 000
  • Android 显式 Intent 抛出 NoClassDefFounderror

    我正在尝试使用明确的意图在我的 Android 应用程序中显示 MapView 尽管我没有发现我的代码有任何问题 但当我尝试启动我的活动时 我不断收到 NoClassDefFoundError 基本上 从我的主要活动 SetCriteria
  • 多线程Python网络爬虫卡住了

    我正在编写一个Python网络爬虫 我想让它成为多线程的 现在我已经完成了基本部分 以下是它的作用 一个线程从队列中获取一个url 线程从页面中提取链接 检查链接是否存在于池 集合 中 并将新链接放入队列和池中 该线程将 url 和 htt
  • 在 angularjs 中提交时显示验证错误消息

    我有一个表单 如果单击 提交 则需要显示验证错误消息 这是一个工作plunker http plnkr co edit nYPzEO8d3SKuFk4KBn1o p preview
  • 在没有 numpy polyfit 的情况下在 python 中拟合二次函数

    我正在尝试将二次函数拟合到某些数据 并且我尝试在不使用 numpy 的 polyfit 函数的情况下执行此操作 从数学上讲我试图关注这个网站https neutrium net mathematics least squares fitti
  • 谷歌地图无法在科尔多瓦加载

    目前我正在尝试构建一个应该使用谷歌地图的 Cordova 应用程序 以便我可以显示路线和内容 出于测试原因 我还在服务器上放置了代码 一切都运行良好 地图可能正在加载 但是当我将项目转换为 Cordova 应用程序时 谷歌地图无法加载 我不
  • PHP 中的 ZLIB 支持是否默认启用?

    在 phpmanual 的文档中它说 PHP 中的 Zlib 支持默认未启用 您将需要 配置 PHP with zlib DIR Windows 版本的 PHP 内置了对此扩展的支持 您无需加载任何额外的扩展即可使用 这些功能 正如它所说
  • HTTP POST => 302 重定向到 GET 的正确预期行为是什么?

    POST gt 302 重定向到 GET 的正确行为是什么 在 Chrome 也可能是大多数浏览器 中 在我 POST 到希望我重定向的资源 并收到 302 重定向后 浏览器会自动在 302 位置发出 GET 这甚至是一个众所周知的模式 h
  • AuthError - 错误:Amplify 尚未正确配置

    首先 我已经使用成功完成了我的反应应用程序的配置amplify configure 我在以下人员的帮助下做到了AWS 放大文档 https docs amplify aws cli start install 然后我已成功将身份验证添加到我
  • 在 Xcode 4 中,如何将远程 GitHub 存储库添加到现有的本地项目?

    Xcode 4 中的 Git 集成非常受欢迎 但在处理远程存储库时它似乎有点不稳定 为了清楚起见 我使用 OS X 版本 10 6 7 和 Xcode 4 0 2 4A2002a 如果我创建一个新的 Xcode 4 项目并接受创建本地 Gi
  • 使用await时SynchronizationContext不流动

    我们计划在 MVVM 视图模型中使用 async await 但在单元测试此代码时遇到了难题 当使用 NUnit 和手写模拟来传递消息时 我们正在丢失当前的SynchronizationContext 最好用以下小型复制示例代码来展示 Te
  • 从 Android 7.1 应用程序快捷方式启动 Fragment(而不是 Activity)

    我决定考虑将静态快捷方式添加到应用程序中 使用此页面作为参考 https developer android com preview shortcuts html https developer android com preview sh
  • postgres crosstab,错误:提供的 SQL 必须返回 3 列

    您好 我创建了一个视图 但想要旋转它 旋转前的输出 tag1 qmonth1 qmonth2 sum1 name1 18 05 MAY 166 name2 18 05 MAY 86 name3 18 05 MAY 35 name1 18 0
  • 在 LiveCode 中的 iPhone 和 Android 设备中滚动

    我正在开发适用于 Android iPhone Windows 的 livecode 应用程序 我想将滚动条添加到组中 所以我将组的垂直滚动条设置为true对于 Windows 它与右侧的垂直滚动条配合得很好 但是当在 Android 上测
  • 为什么 C# 小数不能在没有 M 后缀的情况下初始化?

    The code public class MyClass public const Decimal CONSTANT 0 50 ERROR CS0664 产生此错误 错误CS0664 无法隐式转换为 double 类型的文字 输入 十进制
  • 使用四元数的最近邻

    给定一个四元数值 我想在一组四元数中找到它的最近邻居 为此 我显然需要一种方法来比较两个四元数之间的 距离 这种比较需要什么距离表示以及如何计算 Thanks Josh 这是一个老问题 但似乎需要更多答案 如果四元数是用于表示旋转的单位长度
  • 如何找出网页浏览者每英寸的像素数?

    谁能想到一种方法来发现用户的每英寸像素数 我想确保图像显示在网络浏览器中exactly我需要它的大小 因此使用分辨率 我可以从用户代理获得 和每英寸像素的组合我可以做到这一点 但是 我不确定是否有任何方法可以发现用户的每英寸像素数 最好使用