saijs / sai.js

通用前端监控采集脚本

Home Page:http://spmjs.io/docs/sai/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

客户端信息中,渲染引擎使用实际使用的版本信息

hotoo opened this issue · comments

对于异常监控来说,用户浏览器当前使用的渲染引擎版本,比浏览器实际的渲染引擎版本更有用。

目前的样本如下:

编号 客户端说明 修改前(2.2.1 及其之前版本) 修改后(2.3 及其之后版本)
1 IE10 正常模式 pc/-1; ie/10.0; trident/6.0 pc/-1; ie/10.0; trident/6.0
2 IE10 兼容模式 pc/-1; ie/10.0; trident/6.0; c pc/-1; ie/10.0; trident/3.0; c
3 搜狗浏览器IE10内核模式 pc/-1; sg/6.0; trident/6.0 pc/-1; sg/6.0; trident/6.0
4 搜狗浏览器IE10内核模式的 IE 兼容模式 pc/-1; sg/6.0; trident/6.0; c pc/-1; sg/6.0; trident/3.0; c
5 搜狗浏览器IE7内核模式 pc/-1; sg/6.0; trident/3.0 pc/-1; sg/6.0; trident/3.0

我们可以看出,其中 24 两种 Trident 兼容模式会有变化,渲染引擎将统计为实际使用的模式,如果使用兼容模式,这个信息会有变化,真正体现出使用的是什么兼容模式。

这对于 使用 Trident 内核的 IE 壳浏览器,也可以正确分析出所使用的模式,而不是浏览器所持有的模式。这对壳浏览器的识别尤为重要。

从某种角度来说,同时记录浏览器所持有和所使用的渲染引擎版本,相比仅记录是否使用兼容模式(c) 更有意义。

通过实际数据分析和判断,决定维持现状。

Trident 壳浏览器,IE 兼容模式下目前的 trident/6.0|c 信息比 trident/3.0|c 更有用,可以判断出壳浏览器使用的 trident 6.0 版本的兼容模式(trident 3.0)。如果改成后者,最终数据都是 trident/3.0|c,无法判断浏览器本身具有的内核真实版本。

目前默认兼容模式都是 trident 3.0,暂时不考虑获取真实版本和使用版本两个信息。