返回上一页  首页 | cnbeta报时: 15:01:00
IE10 User-agent 字符串曝光
发布日期:2011-04-16 17:48:47  稿源:

微软最近宣布了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 字符串只有两个变化:
  1. “MSIE”标识为现在的“10.0”
  2. “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)

这是否会影响我吗?

理想的情况下,很少有人要关注这些变化。 具体而言,你正在使用的特征检测(相同的标识)完全可以高枕无忧。

但是如果你的网站仍然使用 User-Agent 监听 ,特别值得注意的是“MSIE”的标识增加到“10.0”。为什么呢? 因为它添加一个额外的数字用于字符串值的标识。大多数的网站处理这个都会毫不费力,但有些网站在处理额外的位数时不正确,导致他们将IE10识别为IE1。

为了帮助说明这一点,这里有一个正则表达式,只识别了“MSIE”标识值的第一位数字:

// INCORRECT: will report IE10 version in capture 1 as “1″
var matchIE = /MSIEs(d)/;

这是一个识别了”MSIE”标识的全部值:

// Correct: will report IE10 version in capture 1 as “10.0″
var matchIE = /MSIEs([d.]+)/

当然,你的代码看起来可能显着不同,这取决于您选择的编程语言中字符串解析的方法等。对于你在Apache上自定义的http配置,可能还需要阅读Eric Lawrence的此篇博文

呼吁行动

下载 IE10 平台预​​览版第一版来测试您的网站对于 IE10 User-Agent 字符串的响应情况。更新您的 User-Agent 监听逻辑判断,如果有必要,或者更好的是考虑转移至特征检测,以使这种变化的担心成为过去。
我们在FebBox(https://www.febbox.com/cnbeta) 开通了新的频道,更好阅读体验,更及时更新提醒,欢迎前来阅览和打赏。
查看网友评论   返回完整版观看

返回上一页  首页 | cnbeta报时: 15:01:00

文字版  标准版  电脑端

© 2003-2025