上周,Internet Explorer 11搭载Windows 8.1预览版而来,相信很多浏览迷也已经在使用中。Internet Explorer 11 Preview 改进了与 Web 标准、其他浏览器和实际网站的兼容性。 更新了对常用 Web 标准的支持并添加了可防止较早版本的网站错误显示的更改。

在这些所有的改进中最明显的一个改进就是 User-agent 字符串的更改。此项更改的最大目的就是针对一些旧的网站,通过新的User-agent 字符串来实现不再跳转到专为IE8、IE7、IE6等旧版本准备的页面中。

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

IE10浏览器的User-agent

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

IE11浏览器的User-agent

如果将新的 user-agent 字符串与较早版本的 Internet Explorer 报告的字符串进行比较,你会发现以下更改:

  • 兼容 (“兼容”) 和浏览器 (“MSIE”) 令牌已删除。
  • “like Gecko” 令牌已添加(以便与其他浏览器一致)。
  • 浏览器版本现在由新版本 (“rv”) 令牌报告。

此外,Internet Explorer 11还对一些旧的 API 进行了添加、更改和删除,此举是因为许多网站查找支持旧 (HTML4) 功能的浏览器,目的是提供针对早期浏览器优化的体验。 这就意味着一旦网站在搜索现行标准支持之前检测到旧功能,服务器则会相应的返回老版的的兼容性页面,因此对IE11来说就无法展现对现行标准(如 HTML5、CSS3 等)的良好支持。

因此,IE11 Preview 添加、更改、删除了许多默认的旧功能:

  • navigator.appName 属性现在会返回 “Netscape” 以反映 HTML5 标准和匹配其他浏览器的行为。
  • navigator.product 属性现在会返回 “Gecko” 以便反映 HTML5 标准和匹配其他浏览器的行为。
  • XDomainRequest 对象被 XMLHttpRequest 的 ORS 替换。
  • 已添加对 __proto__ 的支持。
  • 已添加 dataset 属性。

另外,为了支持现行标准指定的功能,已删除若干旧 API 功能:

删除 API 功能 替代功能
attachEvent addEventListener
window.execScript eval
window.doScroll window.scrollLeft、window.scrollTop
document.all document.getElementById
document.fileSize、img.fileSize 使用 XMLHttpRequest 可提取源。
script.onreadystatechange 和 script.readyState script.onload
document.selection window.getSelection
document.createStyleSheet document.createElement(“style”)
style.styleSheet style.sheet
window.createPopup 使用 div 或 iframe(zIndex 值很高)
二进制行为 变化;使用基于标准的等效,如 canvas、SVG 或 CSS3 动画
旧数据绑定 使用框架提供的数据绑定,如 WinJS

这些更改在某种程度上可阻止某些 user-agent 检测机制错误地将 Internet Explorer 标识为较早版本, 尽显Internet Explorer 作为一款现代浏览器的网络之美。

换句话来说,这些改变就是Internet Explorer 11对网站说:“请不要再叫我IE,我是一款支持最新标准的现代浏览器!”

Internet Explorer 11:不要再叫我IE的更多相关文章

  1. IE11新特性 -- Internet Explorer 11:请不要再叫我IE

    Internet Explorer 11 中的一些新特性,包括对WebGL 的支持.预抓取.预渲染.flexbox.mutationobservers 以及其他一些 Web 标准的支持.但是更有趣的是 ...

  2. 企业IT管理员IE11升级指南【11】—— 通过SCCM 2012和WSUS部署Internet Explorer 11

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  3. 企业IT管理员IE11升级指南【1】—— Internet Explorer 11增强保护模式 (EPM) 介绍

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  4. 企业IT管理员IE11升级指南【2】—— Internet Explorer 11 对Adobe Flash的支持

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  5. 企业IT管理员IE11升级指南【6】—— Internet Explorer 11面向IT专业人员的常见问题

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  6. 解决安装失败的 Internet Explorer 11

    注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成.微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章.然而由机器翻译的文章并不总是完美的.它 ...

  7. win10 Internet Explorer 11 停止工作处理

    win10 Internet Explorer 11 停止工作处理:

  8. 下载 Internet Explorer 11(脱机安装程序)

    https://support.microsoft.com/zh-cn/help/18520/download-internet-explorer-11-offline-installer 语言  本 ...

  9. 如何在 Internet Explorer 11中开启 WebGL

    原文地址:http://www.hiwebgl.com/?p=1210 国外开发者Francois Remy在泄露版Windows Blue附带的Internet Explorer 11中发现,Web ...

随机推荐

  1. 转载:磁盘目录(1.3.3)《深入理解Nginx》(陶辉)

    原文:https://book.2cto.com/201304/19614.html 要使用Nginx,还需要在Linux文件系统上准备以下目录. (1)Nginx源代码存放目录 该目录用于放置从官网 ...

  2. JDK1.5引入的concurrent包

    并发是伴随着多核处理器的诞生而产生的,为了充分利用硬件资源,诞生了多线程技术.但是多线程又存在资源竞争的问题,引发了同步和互斥,并带来线程安全的问题.于是,从jdk1.5开始,引入了concurren ...

  3. Oracle数据库错误大全

    ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程 ...

  4. redhat5 设置静态ip

    Last login: Sat Oct 14 16:19:13 2017 # 进入ip凭证文件设置地方 [root@oracle ~]# cd /etc/sysconfig/network-scrip ...

  5. js闭包实例汇总

    本文是通过实例来帮助大家深刻理解js闭包,是篇非常不错的文章,这里推荐给大家,有需要的小伙伴可以参考下 Js闭包 闭包前要了解的知识 1. 函数作用域 (1).Js语言特殊之处在于函数内部可以直接读取 ...

  6. hdu1069线性dp

    /* dp[i]:取第i个方块时最多可以累多高 */ #include<bits/stdc++.h> using namespace std; struct node{ int x,y,z ...

  7. poj2019 二维RMQ模板题

    和hdu2888基本上一样的,也是求一个矩阵内的极值 #include<iostream> #include<cstring> #include<cstdio> # ...

  8. (七)dubbo服务集群实现负载均衡

    当某个服务并发量特别大的时候,一个服务延迟太高,我们就需要进行服务集群,例如某个项目一天注册量10万,这个注册功能就必须要进行集群了,否则一个服务无法应付这么大的并发量: dubbo的服务集群很简单, ...

  9. A. 【UR #17】滑稽树上滑稽果

    题解: 首先很显然的是这是一条链(特殊数据说是链是故意让人迷茫的??) 然后 自己就开始yy 觉得每一次是加入一个使得当前值最小的数 然而这tm又是特殊数据?? 那就写一波发现是错的 考虑一下特殊数据 ...

  10. day16--HTML、CSS、JavaScript总结

        HTML 一大堆的标签:块级.行内 CSS position background text-align padding font-size background-image z-index ...