上周,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. java调用monkeyrunner(亲测绝对可行)

    我自己试验了下和官方的API编写不太一样,老别扭了,建议还是用Python写吧 昨天在网上查了一下一天,都是转来贴别人的,真正敲的很少,我真不知道转的大侠你们自己敲了么? 先截一段不负责任的blog图 ...

  2. Golang依赖管理工具:glide从入门到精通使用

    这是一个创建于 2017-07-22 05:33:09 的文章,其中的信息可能已经有所发展或是发生改变. 介绍 不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题.Java有牛逼轰轰 ...

  3. java比较两个对象是否相等?

    1.判断两个对象是否是同一个引用对象则用==,"=="比的是地址.因为如果地址相同,则就是同一个对象(java中如果两对象(obj1,obj2)相等,那么在修改obj2的时候,ob ...

  4. ipython+notebook使用教程(转载)

    ipython是python交互环境的增强版 IPython notebook目前已经成为用Python做教学.计算.科研的一个重要工具.IPython Notebook使用浏览器作为界面,向后台的I ...

  5. RzPageControl Tab拖拽 移动

  6. PyCharm更改字体和界面样式

    更改主题 File → Settings → Appearance & Behavior → Appearance → Theme 结果: 更改字体大小 File → Settings → E ...

  7. this和判断的位置对赋值的要求

    package charter01; public class Person { private String name; private int age; public String getName ...

  8. 传统DOM事件处理程序

    传统DOM事件处理程序与比HTML事件处理程序相比,优点:可以将HTML和JS脚本分离. 它的操作形式如下 : <body> <div>传统DOM事件处理程序与比HTML事件处 ...

  9. HTML5——Data Url生成

    HTML5——Data Url生成 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  10. [转] 基于NodeJS的前后端分离的思考与实践(五)多终端适配

    前言 近年来各站点基于 Web 的多终端适配进行得如火如荼,行业间也发展出依赖各种技术的解决方案.有如基于浏览器原生 CSS3 Media Query 的响应式设计.基于云端智能重排的「云适配」方案等 ...