字符串,新的IE10User-Agent识别字符串

微软最近宣布了IE10平台预览版第一版。除了一些令人兴奋的新功能 (CSS3 FlexBox、Grid、Gradients、MultiCol),该平台预览版也包括新的IE10 User-Agent 识别字符串
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
总的来说这是一个自然演变,相比IE9的 User-Agent 字符串只有两个变化:
“MSIE”标识为现在的“10.0”
“Trident”标识为现在的“6.0”
此外,IE10的兼容性视图仍然映射到IE7标准模式,就像在IE8和IE9中一样。这里的 User-Agent 字符串模仿IE7的兼容性视图,不过 “Trident” 现标识为“6.0”来表示正在使用IE10。
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0)
新的IE10 User-Agent 识别字符串有什么影响?
理想的情况下,很少有人要关注这些变化。 具体而言,你正在使用的特征检测(相同的标识)完全可以高枕无忧。
但是如果你的网站仍然使用 User-Agent 监听 ,特别值得注意的是“MSIE”的标识增加到“10.0”。为什么呢? 因为它添加一个额外的数字用于字符串值的标识。大多数的网站处理这个都会毫不费力,但有些网站在处理额外的位数时不正确,导致他们将IE10识别为IE1。
为了帮助说明这一点,这里有一个正则表达式,只识别了“MSIE”标识值的第一位数字:
// INCORRECT: will report IE10 version in capture 1 as “1″
var matchIE = /MSIE\s(\d)/;
这是一个识别了”MSIE”标识的全部值:
// Correct: will report IE10 version in capture 1 as “10.0″
var matchIE = /MSIE\s([\d.]+)/
当然,具体的代码看起来可能和上面的代码明显不同,这取决于网页选择的编程语言中字符串解析的方法等。
Tags:  字符串长度 字符串数组 字符串比较 截取字符串 字符串

延伸阅读

最新评论

发表评论