IE11兼容问题

标签: ie11 问题 | 发表时间:2014-01-21 14:20 | 作者:飞旭boy88
出处:http://www.iteye.com

 

IE11下载地址:http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40901。安装IE10和IE11之前需要先保证操作系统是Service版本的。win7 sp1升级包下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=5842

  

搜集资料:

  IE11随Windows 8.1预览版一同到来,13年7月份,IE11登陆Windows 7,为该平台提供与Win8.1版IE11 同样的性能完善、更快的页面加载速度、对更多新标准的支持、全新的F12开发者工具

  在保证兼容性、互操作性、安全性的基础上,IE11大大提升了JavaScript引擎Chakra的性能,还新增了对ECMAScript 6标准的支持,包括let、const、Map、Set、WeakMap、as __proto__ for。

  微软提供了IE11与其它几款浏览器的JavaScript性能基准测试,测试选用的是权威的WebKit SunSpider测试软件,平台为Windows 7。根据测试结果, IE11比IE10快4%,Chrome 28、Firefox 22、Opera 15更是被远远抛在身后

  本人亲测,IE11对javascript的执行速度用肉眼都能看出来,同样的页面,同样的代码,IE11执行速度很快,各大主流浏览器javascript的执行速度图,如下:

 

  我们已经确认Internet Explorer 11中的一些新特性,包括对WebGL的支持、预抓取、预渲染、flexbox、mutation observers以及其他一些Web标准的支持。但是更有趣的是,虽然被叫为Internet Explorer 11,但它已经不再是IE了,为什么这么说呢?如下道来。。。

  这也是首次微软真正移除了Internet Explorer的一些特性:更改了user-agent字符串,这使得很多判断浏览器是否IE的代码无法工作,包括有些JavaScript的isIE()的方法在Internet Explorer 11上执行会返回false。不过好在Internet Explorer 11对Web标准的支持非常好,因此不再需要之前那些IE特定的行为。navigator.userAgent字符串发生了本质性的变化,这就是为什么我们的平台不兼容IE11的原因了,计划赶不上变化,老的东西终将随着新事务的发展变化而改变自身来适应它们的变化。

  1、IE6-IE10的userAgent字符串如下:

  2、IE11的userAgent字符串如下:

  

  3、Firefox的userAgent字符串如下:(firefox已经是过去时了,这里为什么要拿firefox来对比呢,因为IE11长得有点像它了)

  

  IE11增加了Gecko的标识,而Safari是首个标注了Gecko的浏览器。哎,IE11居然连window.ActiveXObject都不支持了?还叫Internet Explorer浏览器吗?我和我的小伙伴们都吓一跳, 幸好新建的时候还能创建出对象。

  

  之前多数使用MSIE来判断是否IE浏览器的代码都无法工作,可以改用Trident字符串来判断。Trident标识是在IE9中引入的。

  此外微软还更改了navigator对象:

  • navigator.appName值为“Netscape”

  • navigator.product值为“Gecko”

  这或许是一项开发者的诡计,但该行为的确是在HTML5中实际指定的。在HTML5中要求这两个属性必须返回上述对应的值,这是一个很奇怪的规定的,更奇怪的是Internet Explorer 11遵守了这个规定。

  此举导致一些根据navigator对象判断浏览器型号的JavaScript代码会将Internet Explorer 11识别成基于Gecko的浏览器。

 

document.all和friends

  从IE 4开始,document.all在IE中举足轻重。比起document.getElementById()来说,document.all是IE方式的获取元素的引用的方法。尽管IE 5增加对DOM的支持,但document.all一直沿用至IE 10。而在Internet Explorer 11中终于被废弃了,这意味着在Internet Explorer 11中使用document.all的方法将可能导致执行失败,尽管使用了document.all的代码实际上还是可以工作。

  另外一个要废弃的是attachEvent()方法,该方法用于添加事件处理器,对应的detachEvent()用来移除事件处理器。这两个方法将在Internet Explorer 11中删除。移除这两个方法需要改用如下逻辑:

  当然,建议你优先使用标准的浏览器进行测试以确保不会因为attachEvent()的移除而影响代码执行。不过互联网上充斥着各种糟糕的监测代码,你只能确保自己的应用经过良好的标准测试。

被删除的特性还包括:

所有这些被废弃的方法都有基于标准的替代方法。如果你使用的是标准的方法那恭喜你,可直接支持Internet Explorer 11.

结论

  看起来Internet Explorer 11应该是Internet Explorer家族最棒的版本。通过最终移除过去一些魔鬼般的错误,微软正在为大家准备一个真正标准的浏览器。

更新:document.all并没有真正被删除,但不推荐使用。

 

出处: http://www.th7.cn/web/js/201311/15045.shtml



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [ie11 问题] 推荐:

IE11兼容问题

- - 研发管理 - ITeye博客
IE11下载地址:http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=40901. 安装IE10和IE11之前需要先保证操作系统是Service版本的. win7 sp1升级包下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=5842.

IE9/IE10/IE11兼容性更改汇总

- - IE浏览器中文网站
从IE9开始,微软对IE动了很大的“手术”,做了很多改进,逐步向W3C靠拢,对HTML5也提供了很多支持. 以下是相对于IE8之前的版本,IE9+各版本改动较大的功能点. IE的高版本里面提供了从上往下的兼容性测试工具,IE11中内置了IE10\IE9\IE8\IE7等兼容性测试模式,以方便开发者进行相应版本的测试.

微软IE11浏览器的7大变化

- - 36氪 | 关注互联网创业
微软很看重自己的IE浏览器,这款浏览器跟Windows捆绑在一起已经走过了10年. 去年微软推出Windows 8时也同时发布了新版的浏览器IE10,这是一款针对Windows 8强调的全屏及触摸优先特点而开发的浏览器. 因此IE10天生就是很大的一个变化,但是这款浏览器也有一些奇怪的限制. 比如web内容占据全屏,除非点击右键才能看到标签页或URL条.

IE11企业模式详解,这对于企业有什么用?

- - IE浏览器中文网站
在帮助企业及时了解最新软件、服务和设备方面,Microsoft 迈出了重要一步. 今天,作为 Windows 7 和 Windows 8.1 的一项更新推出了 Internet Explorer 11 的企业模式,该模式可提供与较早版本 Internet Explorer 更好的兼容性,以及用于管理哪些 Web 应用使用该模式的工具.

微软正式发布Windows 7版IE11浏览器

- - WPDang
微软IE浏览器团队在其官方博客宣布,Windows 7版IE11浏览器正式发布, 目前已经可以在其官网进行下载. 安装包支持95种语言,未来数周内还将通过系统自动更新的方式推送给所有Windows 7用户. 在官方博客中,微软号称IE11在实际使用中比其前代IE10提速9%,比其它竞争对手快至少30%,并整合各种最新技术,增加25种现代Web开发标准兼容,是Windows平台上最佳的浏览器.

前端开发工程师:不是IE的IE11

- - IE浏览器中文网站
IE11浏览器自去年六月份发布以来虽然据说也取得了不错的成绩,但是根据百度流量研究院的浏览器数据显示,国内好像还看不到其占有率,但全球范围内 IE11的占有率已经超过IE10和IE9的总和. 获取IE11可以从两种方式:安装 Win8.1 里面内置IE11;从Win 7的 IE9/10 升级,但XP在中国仍然有超过 60%的占有率,而XP最高也只能升级到IE8.

WebKit是新时代的IE6,微软修改移动版IE11

- - Solidot
微软IE团队调查了500家最流行网站在不同移动浏览器中的行为,发现很多网站会将移动版IE11浏览器识别为桌面版本,并特别为基于WebKit的浏览器优化. 基于WebKit引擎的浏览器如Mobile Safari统治了移动浏览器市场,这些浏览器包含了许多非标准化的特性,此类的优化会给不支持这些特性的浏览器带来问题.

IE11开发人员工具:内存分析工具详解

- - IE浏览器中文网站
上篇我们跟大家介绍了IE11开发人员工具中的新功能: UI响应工具的使用方法,通过这个工具我们可以有效快速的找出网页应用中的哪些组件占用了多少CPU时间,有利于我们对代码进行改进. 除了CPU的占用情况我们比较关注以外,应用对内存的占用情况也是值得我们关注的问题. 所以今天我们在给大家分享跟UI响应工具一起加入到IE11开发者工具中的新功能:内存分析.

使用IE11构建全球通用的JavaScript应用程序

- - IE浏览器中文网站
开发人员若想要在全球范围内构建丰富的 Web 应用,如今的 JavaScript 标准缺乏一些基本对象和库帮助器. 现在利用 Internet Explorer 11,Web 应用程序现在可以使用 JavaScript ECMAScript 国际化 API,该功能提供有标准的 JavaScript 接口,可以实现出色的全球通用体验,例如,数字、日期、时间和货币格式和特定文化的字符串排序(比较).

IE10和IE11对比,删除和新增的功能

- - IE浏览器中文网站
微软最新发布的Internet Explorer 11 (IE11)包含诸多新功能,比如改进了性能和安全性、页面加载速度更快、支持新的网页标准和WebGL等. 但你是否知道 IE11也删除了某些功能. 下面,就将和大家一起来探讨IE11中删除的所有功能,以及添加的新功能. 闲话少说,让我们来分享特色列表:.