浏览器信息查询工具报的58项里,屏幕分辨率和设备内存这两个数都不是你以为的意思

浏览器信息查询工具报的58项里,屏幕分辨率和设备内存这两个数都不是你以为的意思
张文保 27 分钟阅读 4,095 阅读
本文目录
  1. 一个页面58个格子,问题不在有没有,在准不准
  2. 为什么这类误读特别难被发现
  3. 这次是怎么核的
  4. 58个格子是怎么分布的
  5. 屏幕分辨率那一格,报的不是你显示器的分辨率
  6. 三个数放在一起看
  7. 为什么这个差别重要
  8. 还有个反直觉的地方
  9. 移动端上这个差距更夸张
  10. 顺带说说窗口大小那一格
  11. 设备内存那个32GB,不是内存条容量
  12. 规范怎么规定的
  13. 这意味着什么
  14. 一个判断真假的小技巧
  15. 处理器核心数那一格也有类似情况
  16. 那它还有什么用
  17. 网络那两格测的不是网速
  18. 连接类型只有四档
  19. 下行速度那个数更绕
  20. 还有个字段界面上没显示
  21. 实际怎么用这两格
  22. 同一个数据在三个地方各显示了一次
  23. 数出来的重复
  24. 去重之后还剩多少
  25. 为什么会这样
  26. 平台一栏永远写着Win32
  27. 为什么保持这个行为
  28. 浏览器那一格也受同一套限制影响
  29. 顺带说说操作系统那一格
  30. 那个红色的已禁用,不是你的浏览器有问题
  31. 实际情况
  32. 怎么判断一格是不是僵尸项
  33. 类似的还有一格
  34. 显卡型号能查到,但不是所有浏览器都给
  35. 这个信息是怎么拿到的
  36. 图形接口本身的两格倒是有用
  37. 实际使用中的意义
  38. 这份报告适合用来做什么
  39. 可以直接引用的
  40. 需要换算或者加限定条件的
  41. 隐私插件会把这份报告改成另一个样子
  42. 一条容易被忽略的用法
  43. 基本不要拿来下结论的
  44. 怎么把它当成排查工具用
  45. 最有效的用法是做对照
  46. 把它接进日常流程
  47. 几个实操细节
  48. 把报告和现象绑在一起看
  49. 别指望它能替代真机
  50. 复制和导出这两个按钮的区别
  51. 复制完整报告
  52. 导出文本文件
  53. 这份报告别随手贴到公开的地方
  54. 两个都要注意的一点
  55. 常见问题解答
  56. 屏幕分辨率显示的和我显示器的实际分辨率对不上?
  57. 设备内存显示的数字准确吗?
  58. 下行速度只有1.45Mbps,是我网络有问题吗?
  59. 连接类型显示4g,但我用的是有线宽带?
  60. 为什么触控点数和Cookie这些项出现了两次?
  61. WebSQL显示红色的已禁用,需要去开启吗?
  62. 平台一栏显示Win32,是我系统装成32位的了吗?
  63. 权威参考资料

摘要:这类检测页最大的风险不是查不出东西,是把每一格都当成硬件读数来看。实测这一页58个格子,屏幕分辨率报的是逻辑像素而不是显示器分辨率,设备内存那个数是刻意模糊过的分档而非内存条容量,网络那两格测的也不是带宽。

还有三处同一个数据换了名字显示了两遍到三遍,一处红色的不支持其实是规范已经废弃。下面逐格拆,最后给一份哪些能直接引用、哪些要换算、哪些干脆别信的清单。

一个页面58个格子,问题不在有没有,在准不准

做兼容性排查的时候,最快的一步往往是让对方打开一个浏览器信息检测页,截个图发过来。设备型号、系统版本、屏幕尺寸、支持哪些特性,一屏看完,比问十个问题管用。

浏览器信息查询工具做的就是这件事,8个分区、58个格子,打开即出结果,还能一键复制完整报告或者导出文本。这个形态对远程排障相当实用。

但这类工具有个共同的隐患:它把浏览器接口的原始返回值直接贴到界面上,标签写的是中文常用说法,而接口的实际口径往往和那个说法差得挺远。你看到设备内存32GB,会以为对方机器插了32G内存条;看到屏幕分辨率2048×1280,会以为那是显示器的物理分辨率。这两个理解都不对,而界面上没有任何提示告诉你哪里不对。

为什么这类误读特别难被发现

检测页给出的每一个值都是真的,没有一个是瞎编的。它们全都来自浏览器公开的接口,取值也都合法。问题只出在标签和口径之间那层翻译上——接口叫屏幕宽度,中文标签写成屏幕分辨率,看起来完全等价,实际差了一个像素比。

这种错误没有任何报错,没有任何异常,界面一片正常。你只有在拿这个数字去做决策、并且决策出了偏差之后,才有机会回头怀疑它。而那时候通常已经排查了半天别的方向。

这次是怎么核的

在真实浏览器里打开工具,把它自己的检测函数跑一遍,然后逐格把界面显示的值和接口的原始返回值对照,再拿规范文档核对每个接口的定义。所有读数来自同一台机器同一次会话,没有跨设备拼凑。

下面出现的具体数字都是那台机器上的读数。换一台机器数字会变,但口径问题不会变。

58个格子是怎么分布的

八个分区各管一摊:平台信息11格、屏幕信息8格、硬件信息5格、存储信息5格、图形信息6格、功能支持18格、安全与编码5格。功能支持那一区占了将近三分之一,全是是与否的判断。

这个结构决定了报告的性质:大部分格子回答的是能不能,少数格子回答的是多少。而出问题的恰恰是回答多少的那些——是与否很难解释错,具体数值才需要知道口径。

所以往下看的时候可以带着这个筛子:凡是显示支持或不支持的,基本可以直接采信;凡是显示了一个数字或者一段文本的,都值得多问一句这个数是怎么来的。

屏幕分辨率那一格,报的不是你显示器的分辨率

这是最容易误读的一格,而且它的正确答案就摆在同一屏的另一个格子里。

三个数放在一起看

界面上的格子读数
屏幕分辨率2048 × 1280
窗口大小2040 × 1148
设备像素比1.25

那台机器的显示器实际是2560×1600。用2048乘以1.25,正好得到2560;1280乘以1.25,正好1600。

屏幕分辨率那一格给的是逻辑像素,要乘以设备像素比才是物理像素。而设备像素比就显示在同一个分区里,隔了几格而已,工具从来没把这两个数相乘过。

为什么这个差别重要

做响应式布局的人会立刻反应过来:媒体查询里写的宽度断点用的正是逻辑像素,所以这一格的读数拿来判断断点是对的。但选图片资源就完全是另一回事了,一张要在这块屏上显示清晰的全屏背景图,得按2560宽准备,按2048准备会糊。

更常见的踩坑场景是排查用户反馈。有人说页面在他的高分屏上很模糊,你让他打开检测页,看到2048×1280,判断这不算高分屏、应该没问题。实际那是台2.5K的屏,像素比1.25,图片资源确实不够用。关键信息在旁边那一格,而你没把它们联系起来。

图标资源是同一个道理的极端版本。浏览器标签页上那个小方块只占十几个逻辑像素,在像素比2的屏上就要32个物理像素才不糊,所以图标才需要备好一整套尺寸。那一套该备哪些、哪些其实多余,在Favicon生成器给的10个图标文件里真正上场的只有一张那篇里数过一遍。

还有个反直觉的地方

像素比不一定是整数。实测那台机器是1.25,很多笔记本在系统缩放设成125%时都会得到这个值。缩放150%就是1.5,175%是1.75。

这意味着同一台显示器,用户改一下系统缩放设置,检测页上的屏幕分辨率就会跟着变,而显示器本身一个螺丝都没动。这一格反映的是操作系统的缩放设置加显示器分辨率的组合结果,不是硬件属性。

移动端上这个差距更夸张

桌面上像素比常见的是1、1.25、1.5、2这几档,差距还算温和。手机上主流机型的像素比普遍在2.5到3.5之间,个别机型还更高。

这意味着一台标称高清屏的手机,检测页上的屏幕分辨率可能只显示三四百的宽度,看着还不如十几年前的显示器。不少人第一次看到这个数会以为检测出错了。实际那是逻辑像素,乘以像素比之后才是那块屏真正的像素数。

做移动端图片适配时这个换算是绕不开的。按逻辑像素准备资源,在手机上看就是一片模糊;按物理像素准备,流量又会翻好几倍。中间的取舍是另一个话题,但前提是先知道这两个数不是一回事。

顺带说说窗口大小那一格

2040×1148这个数是浏览器视口的尺寸,同样是逻辑像素,而且已经扣掉了滚动条、地址栏、书签栏。它和屏幕分辨率之间的差值能反映出浏览器界面占了多少空间,这在排查移动端地址栏收起前后布局跳动时挺有用。

可用屏幕那一格是又一个口径:它是扣掉了系统任务栏之后的可用区域。三个尺寸各有各的含义,界面上并排摆着,不看文档很难分清谁是谁。

设备内存那个32GB,不是内存条容量

硬件分区里写着设备内存32GB。这一格看起来最像硬件读数,实际上它是所有格子里被加工得最厉害的一个。

规范怎么规定的

这个接口的设计目标是让网站能按设备档次调整策略——低端机少加载点东西,高端机可以多上点特效。为了这个目的它不需要精确值,精确值反而会被用来做设备指纹追踪。

所以规范要求:把实际内存四舍五入到最接近的2的幂,再夹在一个上界和一个下界之间。而这两个界限由浏览器自己定,规范明确写了可以随时间调整,目的是排除罕见取值以免被用来识别个人。

这意味着什么

实测那台32G内存的机器返回32,落在规范允许的取值集合里。但同一台机器换个浏览器、或者同一个浏览器换个版本,返回值完全可能变成8——因为上界不一样。

你以为的实际的
32GB是内存条容量是四舍五入到2的幂之后的分档值
不同设备的数值可以直接比较只在同一浏览器同一版本内可比
这是个硬件事实这是个隐私处理过的近似值

顺带一提,这个接口只有基于Chromium的浏览器提供,别的浏览器上这一格会显示未知。所以拿它做设备分层,样本一开始就是偏的。

一个判断真假的小技巧

拿到一个可疑的数字,看它是不是2的幂或者某个整数的整数倍。是的话八成被量化过。内存那个数只会是2的幂,网络那个数只会是25kbps的倍数,时延只会是25毫秒的倍数。

真实的物理测量值几乎不可能这么整齐。凡是整齐得可疑的,背后多半有一层为了隐私做的取整。这个规律对判断任何浏览器接口的可信度都适用,不只这一款工具。

处理器核心数那一格也有类似情况

同一个分区里的处理器核心数,实测显示24,那台机器确实是24个逻辑核心,这次是准的。但工具自己的说明里提了一句:部分浏览器出于隐私考虑会限制这个值的上报,可能返回2或者4。

这句提醒写得很好,可惜只出现在页面下方的说明文字里,不在格子旁边。用户扫一眼上面的格子,多半不会往下翻到那段说明。提示信息和它要修饰的数字隔了两屏,等于没提示。

那它还有什么用

有用,但用法不同。它适合做粗粒度的分档决策,比如返回值小于等于2就不加载那些吃内存的动画。它不适合出现在任何需要精确的地方,更不该被当成排障时的硬件证据。

做技术支持时如果对方发来这个数,正确的读法是:这台机器大致属于哪一档,而不是它有多少内存。

网络那两格测的不是网速

硬件分区里还有两格是网络相关的,实测读数是连接类型4g、下行速度1.45Mbps。那台机器接的是有线宽带。

连接类型只有四档

这个字段的取值集合规范写死了,只有四个:慢速2g、2g、3g、4g。判定依据是最近观测到的往返时延和吞吐量的组合,跟你实际用的是什么物理链路没关系。

所以千兆光纤是4g,手机上的5G也是4g,家里的百兆宽带还是4g。这个字段只能告诉你网络是不是很差,没法告诉你网络有多好。四档里有三档描述的都是糟糕程度,只有一档兜住了从还行到极好的全部情况。

下行速度那个数更绕

1.45Mbps这个读数,在有线宽带上看着离谱得像是断网了。但它没错,只是测的东西不是你以为的东西。

规范规定这个值是基于最近观测到的实际吞吐量的估计,并且四舍五入到25kbps的整数倍。实测1.45Mbps等于1450kbps,除以25正好是58,整除,完全符合规范的舍入规则。

关键在于它测的是最近实际下载了多少,不是链路能跑多快。浏览器刚打开一个纯文本页面,没有大文件在传,估出来的吞吐自然很低。这个数在看视频时会飙上去,在读文章时会掉下来,跟带宽本身没有稳定关系。

还有个字段界面上没显示

同一个网络接口还提供往返时延和省流量模式两个值,实测分别是250毫秒和关闭。工具只取了连接类型和下行速度两格,没把这两个放上来。

有点可惜,因为往返时延反而是这几个里最有参考价值的——它直接反映网络的响应快慢,对判断用户体验比那个下行估计值靠谱。当然它同样是量化过的估计值,规范要求按25毫秒的倍数取整,不能当成精确的测量结果。

实际怎么用这两格

  • 可以用来判断是不是处在明确的弱网环境,返回2g或者慢速2g时降级是合理的
  • 不能用来做网速测试,也不能拿来对比两个用户谁的网更快
  • 不能作为客服排障时的网速证据,用户说卡而这里显示1.45,两者没有因果关系
  • 要测真实带宽只能靠实际传输一定体积的数据来计时,这个接口做不到

同一个数据在三个地方各显示了一次

58个格子听起来信息量很大,但把重复的刨掉之后没那么多。

数出来的重复

底层数据出现在标签名
最大触控点数屏幕信息触控点数
硬件信息最大触控点
功能支持触摸事件
Cookie是否可用平台信息Cookie
存储信息Cookies

触控那组前两行读的是同一个接口,只是中文标签一个叫触控点数、一个叫最大触控点,分别摆在两个分区里。第三行读的是另一个判断依据,但结论高度相关。

Cookie那组更直接:两个格子读的是同一个属性,标签只差一个字母的单复数。一个显示已启用,另一个也显示已启用,永远不可能不一致。

去重之后还剩多少

58个格子刨掉那几处重复,独立的信息点大约在54个左右。这个数字仍然不少,作为一个免费的检测页覆盖面是够的。

真正需要留意的不是重复本身,而是重复带来的错觉。看到同一件事在两个分区都得到确认,人会不自觉地更信任这个结论——但那不是两次独立验证,是同一个数据被显示了两遍。两个格子说的是同一句话,可信度并不会因此翻倍。

为什么会这样

这是分区式检测页的通病。按主题分了8个区,每个区都想把相关的信息凑齐,于是同一个数据被不同的区各取一次。写的时候一个区一个区地写,不容易发现重复。

影响不算大,但会让人高估这份报告的信息密度。看到58项会觉得查得很全,实际去重之后的独立信息点要少几个。做排障时如果按格子数来判断信息完整度,容易被这个数字骗。

平台一栏永远写着Win32

平台信息区有一格叫平台,实测显示Win32。那是台64位Windows。

这不是工具算错了,是这个接口本身如此。文档里有一句专门的提醒,大意是在Windows上,现代浏览器即使跑在64位系统上也返回Win32。

为什么保持这个行为

历史上大量网站的代码依赖这个字符串做判断,改动会导致大面积不兼容。于是这个值被冻结了,变成一个几乎没有信息量的常量。文档同时建议不要用它做浏览器或系统检测,改用特性检测。

工具把这个值原样放上来,标签叫平台。用户看到Win32,如果正在排查一个32位和64位表现不同的问题,会被直接带偏。而这一格旁边就是操作系统那一格,那里显示的是Windows 10/11,是从用户代理串里解析出来的,反而更接近事实。

浏览器那一格也受同一套限制影响

浏览器名称和版本号是从用户代理串里解析出来的,而各家浏览器都在逐步减少这个串里的信息量。次要版本号早就被固定成零,主版本号也在讨论要不要冻结。

实测那台机器上工具正确识别出了浏览器和它的厂商,版本号看着也完整。但这个准确性有保质期——用户代理串减少信息量的方向是确定的,靠解析字符串的检测手段会越来越不准。这也是为什么文档一再建议改用特性检测:特性检测问的是能不能做某件事,答案不会因为隐私策略而失真。

顺带说说操作系统那一格

它显示的是Windows 10/11这样一个合并写法,没法区分具体是10还是11。原因也在浏览器那边:出于减少指纹的考虑,用户代理串里的Windows版本号已经被冻结,10和11报的是同一个值。

要拿到真实版本得走另一套接口,那套接口需要单独请求高熵信息,而且只有部分浏览器支持。工具尝试过这条路,但拿不到时就退回合并写法。所以这一格给不出确定答案不是偷懒,是浏览器主动不给。

那个红色的已禁用,不是你的浏览器有问题

存储信息区有五格,前四格都是绿色的已启用,最后一格WebSQL是红色的已禁用。

红色在这个界面里代表不支持。但用户看到一片绿里夹一个红,第一反应是自己的浏览器少了点什么,或者被什么设置关掉了。

实际情况

实测那个接口在当前浏览器里根本不存在。这不是被禁用,是这项技术已经被移除了——它从来没成为过正式标准,规范工作早就停止,各家浏览器陆续把它删掉了。

换句话说,这一格在任何现代浏览器上都会是红色,而且以后只会更红。它检测的是一个已经不存在的东西,永远得到否定答案。

怎么判断一格是不是僵尸项

有个简单的判断方法:如果一个检测项在你能找到的所有现代浏览器上都给同一个答案,那它就没有检测价值了。要么该特性已经普及到不用查,要么它已经消失到不用查。

这份报告里前一类比后一类多得多。像本地存储、加密接口、可视区域观察器这些,实测全是绿色,而它们在市面上任何一个还在更新的浏览器里都是支持的。留着不算错,只是别指望从这些格子里看出差异。

类似的还有一格

平台信息区那个不追踪选项,实测返回的是空值,界面显示未知。这个标准也已经停止维护,主流浏览器要么移除了要么固定返回空。它同样永远给不出有意义的结果。

这两格加起来说明一件事:检测页里的项目清单需要跟着规范演进定期清理,否则会积累出一批永远给固定答案的僵尸项。它们不影响功能,但会占用注意力,还会让不熟悉的人误以为环境有问题。

显卡型号能查到,但不是所有浏览器都给

图形分区里能看到渲染器和供应商,实测拿到了完整的显卡型号和驱动信息,具体到芯片系列和图形接口版本。

这个信息是怎么拿到的

它靠的是一个专门的调试扩展。这个扩展的存在本身就有争议,因为显卡型号是极强的设备指纹特征——同一款显卡加上驱动版本,能把设备缩小到很小的范围。

所以有些浏览器默认不给,或者在开启了抗指纹模式后返回通用值。工具在拿不到扩展时会退回到普通的渲染器查询,那时得到的是一个笼统的字符串。

图形接口本身的两格倒是有用

图形接口的两个版本支持情况,实测都是绿色。这两格在排查渲染问题时是有意义的,因为确实存在旧设备或者受限环境下拿不到图形上下文的情况——比如某些虚拟机、某些远程桌面会话、开了硬件加速禁用选项的浏览器。

用户反馈说某个用了三维渲染的页面白屏,先让他看这两格是不是绿的,能很快分出是环境不支持还是代码有问题。这是这份报告里少数能直接指向根因的项目之一。

实际使用中的意义

能拿到的时候,这一格对排查图形相关问题非常有价值——某些渲染异常和特定的显卡驱动组合强相关,知道型号能省掉大量猜测。拿不到的时候也别当成异常,那是对方浏览器的隐私设置在起作用。

顺带一提,最大纹理尺寸和最大视口这两格是实打实的硬限制,做大尺寸画布渲染时会撞上。这两个值倒是可以直接引用,不需要换算也不会被模糊化。

这份报告适合用来做什么

把上面的口径问题理一遍,就能给每一类格子定个用法。

可以直接引用的

  • 各项功能支持的是与否,那些是实打实的特性检测,结论可靠
  • 本地存储、会话存储、索引数据库是否可用,工具是真的写了一次再删掉去验的,不是光看接口存不存在
  • 时区、语言、语言偏好列表,直接取自国际化接口,准确
  • 图形部分的最大纹理尺寸和最大视口,硬限制,可直接用
  • 是否为安全连接、加密接口是否可用,判断简单明确

需要换算或者加限定条件的

  • 屏幕分辨率,要乘以设备像素比才是物理像素
  • 窗口大小和可用屏幕,三个尺寸口径不同,别混用
  • 设备内存,是分档值,只在同一浏览器版本内可比
  • 处理器核心数,部分浏览器会限制上报值,可能小于实际
  • 图形渲染器,拿不到不代表有问题

隐私插件会把这份报告改成另一个样子

装了抗指纹类扩展的浏览器,检测结果会明显不同:显卡型号变成通用字符串、处理器核心数被压到4、时区可能报成零时区、语言列表被裁剪。这些都是扩展主动干预的结果。

这在排障时既是干扰也是线索。干扰在于你拿到的环境信息不真实;线索在于一旦看到这种模式,就知道对方装了什么类型的扩展,而很多诡异的兼容问题正是扩展造成的。

判断方法是看多项异常是否同时出现。单独一格拿不到很正常,一整批本该有值的格子同时变成通用值或者未知,那基本可以确定有东西在中间挡着。

一条容易被忽略的用法

用户代理串那一整行本身值得单独复制保存。它信息密度最高,而且是很多线上问题复现的起点——你可以拿这个串去配置浏览器的设备模拟,或者在自动化测试里指定同样的环境。

工具在这一行旁边单独放了个复制按钮,这个设计是对的。排障时先要这一行,往往比要整份报告更高效。

基本不要拿来下结论的

  • 连接类型和下行速度,测的不是带宽
  • 平台,永远是那个冻结的字符串
  • WebSQL和不追踪,永远是否定答案

怎么把它当成排查工具用

换个角度说,这份报告真正的价值不在单个数字,在于把一堆环境信息一次性摊开,让你快速定位差异。

最有效的用法是做对照

同一个页面,一台机器正常一台不正常,两边各导出一份报告,逐行比对。差异项通常就那么几行,问题往往就藏在里面。这时候每一格准不准反而没那么要紧——你要的是差异,不是绝对值。

这个方法对付那种只在特定环境复现的问题特别管用。用户描述不清楚自己的环境是常态,但让他打开一个页面点一下复制,门槛足够低。

把它接进日常流程

如果你们团队经常处理用户端的兼容问题,可以把这个检测页的地址做成客服话术里的固定一环:出现界面异常时,先请对方打开这个页面导出一份文本。收集几十份之后,你会对用户群的环境分布有个具体的认识——多少人还在用旧版本、多少人开了隐私插件、多少人在应用内置浏览器里。

这批数据比任何行业统计报告都贴近你的实际用户。前提是别把那几个需要换算的格子当成事实照单全收,否则统计出来的分布本身就是歪的。

几个实操细节

  • 让对方用出问题的那个浏览器打开检测页,别用另一个浏览器截图,那就白测了
  • 手机上注意是不是在某个应用的内置浏览器里,那和独立浏览器差别很大
  • 报告里的时间戳是本地时间,跨时区协作时记得换算
  • 导出的文本文件适合贴进工单,一键复制适合发聊天窗口

保哥处理过的兼容性问题里,有相当一部分最后查出来和浏览器本身无关,是对方开了某个隐私插件把一批接口屏蔽了。这类问题在检测页上会表现为一片本该绿的格子突然变红,一眼就能看出来。

把报告和现象绑在一起看

光有一份报告用处有限,得配上一句对方描述的现象。同样一份显示一切正常的报告,配上页面白屏和配上字体发虚,指向的方向完全不同。

更好的做法是让对方在问题发生的当下打开检测页,而不是事后补一份。有些问题跟当时的网络状态、当时的窗口尺寸相关,事后补的报告已经不是现场了。这一点在排查那种偶发的布局错乱时尤其明显。

别指望它能替代真机

检测页告诉你的是接口层面的事实,告诉不了你渲染出来长什么样。字体缺失、滚动惯性、输入法行为这些,检测页一格都覆盖不到。同一批工具里那款在线改样式的,把控件默认值与规范初始值的差异摊开讲过一次,思路在CSS在线编辑器生成的不是完整样式,而是一份相对默认值的差异清单里,同样是口径不一致导致的误判。

另外,如果你排查的是脚本行为而不是环境差异,直接跑一段代码往往比看一堆环境值更快,那类工具的边界在JS在线运行工具点自带的异步示例只会出现第一行里量过。

复制和导出这两个按钮的区别

页面顶部有三个按钮:复制完整报告、导出文本文件,还有单独复制用户代理串的那个。三者的内容组织方式不同,用途也不同。

复制完整报告

把所有分区拼成一段纯文本放进剪贴板,格式是分区标题加缩进的键值对。适合直接粘进聊天窗口或者工单系统。实测生成的报告有七十多行,聊天窗口里会占相当长一段,接收方需要往上翻。

导出文本文件

内容和上面完全一样,只是包成一个文件下载,文件名带日期。适合作为附件归档,或者需要保存多份做对比的场景。做对照排查时用这个更方便——两份文件放进任意一个比对工具,差异一目了然。

这份报告别随手贴到公开的地方

单看每一格都很普通,合起来就不一样了。显卡型号加驱动版本、屏幕分辨率加像素比、语言偏好列表、时区、处理器核心数——这几项组合起来的区分度相当高,足以在很大的人群里把一台设备缩小到很小的范围。

这正是浏览器厂商要把内存、核心数这些值量化的原因:单个字段模糊一点,组合起来的区分度就掉下去很多。而一份完整报告等于把所有字段一次性凑齐,把厂商辛苦降下去的那部分又还回来了。

发给同事排障没问题,贴到公开论坛、公开的问题追踪系统里就值得想一想。真要公开,把显卡型号和用户代理串这两项打码,剩下的信息量就低多了。

两个都要注意的一点

报告里的分区标题会去掉前面的图标符号,键值对用的是全角冒号。如果你要把这些文本喂给脚本做批量分析,得先处理一下这个分隔符,不然按半角冒号切会切不开。这是个小细节,但批量处理几十份报告时会卡住。

另外报告里带了生成时间,用的是本地时区的可读格式。跨时区协作时这个时间容易被误读成自己所在时区的时间,需要的话让对方顺手备注一句所在地区。

🔍 动手试试:浏览器信息查询工具

打开即出58项环境检测,UA、屏幕、硬件、存储、图形能力一屏看完,还能一键复制完整报告或导出成文本。远程排障时让对方点一下发过来,比来回问十个问题管用。

保哥自研免费在线工具,浏览器打开就能用。

→ 打开浏览器信息查询工具

常见问题解答

屏幕分辨率显示的和我显示器的实际分辨率对不上?

那一格给的是逻辑像素,要乘以同一个分区里的设备像素比才是物理像素。实测一台2560×1600的机器,工具显示2048×1280、设备像素比1.25,两者相乘正好还原。做媒体查询断点判断时用逻辑像素是对的,准备图片资源时必须换算成物理像素。

设备内存显示的数字准确吗?

它是被刻意模糊过的分档值,不是内存条容量。规范要求把实际内存四舍五入到最接近的2的幂,再夹在浏览器自定的上下界之间,目的是防止被用作设备指纹。同一台机器换浏览器或换版本,返回值可能不同。只有基于Chromium的浏览器提供这个接口。

下行速度只有1.45Mbps,是我网络有问题吗?

不是。这个值是基于最近观测到的实际吞吐量的估计,并且四舍五入到25kbps的整数倍,测的不是链路带宽。浏览器刚打开一个文本页面时没有大流量在传,估出来的值自然很低。它在看视频时会升高,跟带宽本身没有稳定关系,不能用来做网速测试。

连接类型显示4g,但我用的是有线宽带?

这个字段的取值只有慢速2g、2g、3g、4g四档,由最近观测到的时延和吞吐组合判定,与物理链路类型无关。千兆光纤、百兆宽带、手机5G都会归到4g这一档。它能告诉你网络是不是很差,没法告诉你网络有多好。

为什么触控点数和Cookie这些项出现了两次?

因为按主题分区时同一个底层数据被不同分区各取了一次。最大触控点数在屏幕信息里叫触控点数、在硬件信息里叫最大触控点,读的是同一个接口;平台信息里的Cookie和存储信息里的Cookies读的是同一个属性,两者永远一致。58项去重之后独立信息点会少几个。

WebSQL显示红色的已禁用,需要去开启吗?

不需要,也开不了。这项技术从未成为正式标准,规范工作早已停止,浏览器陆续将其移除。实测该接口在当前浏览器里根本不存在。这一格在任何现代浏览器上都是红色,检测的是一个已经不存在的东西。同一分区里的不追踪选项也是类似情况。

平台一栏显示Win32,是我系统装成32位的了吗?

不是。这个接口的值早已被冻结,在64位Windows上同样返回Win32,文档里有专门的提醒。历史上大量网站依赖这个字符串做判断,改动会造成大面积不兼容,于是它变成了一个几乎没有信息量的常量。同一分区里的操作系统那一格反而更接近事实。

权威参考资料

分享到
标签
版权声明

本文标题:《浏览器信息查询工具报的58项里,屏幕分辨率和设备内存这两个数都不是你以为的意思》

本文链接:https://zhangwenbao.com/browser-info-css-pixel-devicememory-duplicate-fields-guide.html

版权声明:本文原创,转载与引用请注明作者与原文链接。许可协议: CC BY 4.0

继续阅读
发表评论
分享到微信 或在下方手动填写
支持 Ctrl + Enter 提交