客户端信息中,渲染引擎使用实际使用的版本信息
hotoo opened this issue · comments
闲耘™ commented
对于异常监控来说,用户浏览器当前使用的渲染引擎版本,比浏览器实际的渲染引擎版本更有用。
闲耘™ commented
目前的样本如下:
编号 | 客户端说明 | 修改前(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 |
我们可以看出,其中 2
和 4
两种 Trident 兼容模式会有变化,渲染引擎将统计为实际使用的模式,如果使用兼容模式,这个信息会有变化,真正体现出使用的是什么兼容模式。
这对于 使用 Trident 内核的 IE 壳浏览器,也可以正确分析出所使用的模式,而不是浏览器所持有的模式。这对壳浏览器的识别尤为重要。
闲耘™ commented
从某种角度来说,同时记录浏览器所持有和所使用的渲染引擎版本,相比仅记录是否使用兼容模式(c) 更有意义。
闲耘™ commented
通过实际数据分析和判断,决定维持现状。
Trident 壳浏览器,IE 兼容模式下目前的 trident/6.0|c
信息比 trident/3.0|c
更有用,可以判断出壳浏览器使用的 trident 6.0 版本的兼容模式(trident 3.0)。如果改成后者,最终数据都是 trident/3.0|c
,无法判断浏览器本身具有的内核真实版本。
目前默认兼容模式都是 trident 3.0,暂时不考虑获取真实版本和使用版本两个信息。