Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)总的来说这是一个自然演变,相比IE9的 User-Agent 字符串只有两个变化:
- “MSIE”标识为现在的“10.0”
- “Trident”标识为现在的“6.0”
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0)这是否会影响我吗?
理想的情况下,很少有人要关注这些变化。具体而言,你正在使用的特征检测(相同的标识)完全可以高枕无忧。
但是如果你的网站仍然使用 User-Agent 监听,特别值得注意的是“MSIE”的标识增加到“10.0”。为什么呢?因为它添加一个额外的数字用于字符串值的标识。大多数的网站处理这个都会毫不费力,但有些网站在处理额外的位数时不正确,导致他们将IE10识别为IE1。
为了帮助说明这一点,这里有一个正则表达式,只识别了“MSIE”标识值的第一位数字:
// INCORRECT: will report IE10 version in capture 1 as “1″这是一个识别了”MSIE”标识的全部值:
var matchIE = /MSIE\s(\d)/;
// Correct: will report IE10 version in capture 1 as “10.0″当然,你的代码看起来可能显着不同,这取决于您选择的编程语言中字符串解析的方法等。对于你在Apache上自定义的http配置,可能还需要阅读Eric Lawrence的此篇博文。
var matchIE = /MSIE\s([\d.]+)/
最新评论