Skip to main content
黑话筒

转述:Internet Explorer 11:不要叫我IE

我们系统中有个bug是说当用户使用IE 11浏览器访问我们系统时,会有个提示:系统不支持当前浏览器。

查了原因,是因为IE 11改变了以往的User Agent String(简称UA)。

在IE10及以下版本中,UA一般为:

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)

而到了IE11,则变成了:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko

可以看出新的UA主要变化为:去掉了"MSIE",增加了"like Gecko"。

而我们原先JS里判断浏览器类型时认为的IE特征字符串就是"MSIE",而当IE 11去掉了该关键字后,程序判断自然就出错了。

但是随着对IE11了解的深入,发现它不止修改了UA,还删除了我们轻度使用的方法/属性:

然后建议是:不检测浏览器类型,而改为检测特性(而特性检测应该是jQuery的范围,我们不用特别关心)。

另外一件事情需要开发人员知悉的是:jQuery 2.0及以上版本就不支持IE 6,7,8了。所以现在jQuery有两个分支,一个是1.x一个是2.x。

原文请见Internet Explorer 11 Don 't Call Me IE

更多信息: