Internet Explorer 11:不要再叫我IE

InternetExplorer11预览版改进了Web标准和浏览器兼容性,特别是User-agent字符串的更改,旨在避免被识别为旧版本IE。此外,它移除了一些旧API,增加了对HTML5和CSS3等现代标准的支持。这些变动旨在提升IE11作为现代浏览器的标准兼容性。

上周,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 功能替代功能
attachEventaddEventListener
window.execScripteval
window.doScrollwindow.scrollLeft、window.scrollTop
document.alldocument.getElementById
document.fileSize、img.fileSize使用 XMLHttpRequest 可提取源。
script.onreadystatechange 和 script.readyStatescript.onload
document.selectionwindow.getSelection
document.createStyleSheetdocument.createElement(“style”)
style.styleSheetstyle.sheet
window.createPopup使用 div 或 iframe(zIndex 值很高)
二进制行为变化;使用基于标准的等效,如 canvas、SVG 或 CSS3 动画
旧数据绑定使用框架提供的数据绑定,如 WinJS

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值