浏览器信息查询工具报的58项里,屏幕分辨率和设备内存这两个数都不是你以为的意思
本文目录
- 一个页面58个格子,问题不在有没有,在准不准
- 为什么这类误读特别难被发现
- 这次是怎么核的
- 58个格子是怎么分布的
- 屏幕分辨率那一格,报的不是你显示器的分辨率
- 三个数放在一起看
- 为什么这个差别重要
- 还有个反直觉的地方
- 移动端上这个差距更夸张
- 顺带说说窗口大小那一格
- 设备内存那个32GB,不是内存条容量
- 规范怎么规定的
- 这意味着什么
- 一个判断真假的小技巧
- 处理器核心数那一格也有类似情况
- 那它还有什么用
- 网络那两格测的不是网速
- 连接类型只有四档
- 下行速度那个数更绕
- 还有个字段界面上没显示
- 实际怎么用这两格
- 同一个数据在三个地方各显示了一次
- 数出来的重复
- 去重之后还剩多少
- 为什么会这样
- 平台一栏永远写着Win32
- 为什么保持这个行为
- 浏览器那一格也受同一套限制影响
- 顺带说说操作系统那一格
- 那个红色的已禁用,不是你的浏览器有问题
- 实际情况
- 怎么判断一格是不是僵尸项
- 类似的还有一格
- 显卡型号能查到,但不是所有浏览器都给
- 这个信息是怎么拿到的
- 图形接口本身的两格倒是有用
- 实际使用中的意义
- 这份报告适合用来做什么
- 可以直接引用的
- 需要换算或者加限定条件的
- 隐私插件会把这份报告改成另一个样子
- 一条容易被忽略的用法
- 基本不要拿来下结论的
- 怎么把它当成排查工具用
- 最有效的用法是做对照
- 把它接进日常流程
- 几个实操细节
- 把报告和现象绑在一起看
- 别指望它能替代真机
- 复制和导出这两个按钮的区别
- 复制完整报告
- 导出文本文件
- 这份报告别随手贴到公开的地方
- 两个都要注意的一点
- 常见问题解答
- 屏幕分辨率显示的和我显示器的实际分辨率对不上?
- 设备内存显示的数字准确吗?
- 下行速度只有1.45Mbps,是我网络有问题吗?
- 连接类型显示4g,但我用的是有线宽带?
- 为什么触控点数和Cookie这些项出现了两次?
- WebSQL显示红色的已禁用,需要去开启吗?
- 平台一栏显示Win32,是我系统装成32位的了吗?
- 权威参考资料
摘要:这类检测页最大的风险不是查不出东西,是把每一格都当成硬件读数来看。实测这一页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
← 上一篇
用户下单之后天天来查物流,你的跟踪页却把他一脚踢到了第三方站上下一篇 →
没有了