Internet Explorer 11:不要再叫我IE
上周,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的更多相关文章
- IE11新特性 -- Internet Explorer 11:请不要再叫我IE
Internet Explorer 11 中的一些新特性,包括对WebGL 的支持.预抓取.预渲染.flexbox.mutationobservers 以及其他一些 Web 标准的支持.但是更有趣的是 ...
- 企业IT管理员IE11升级指南【11】—— 通过SCCM 2012和WSUS部署Internet Explorer 11
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 企业IT管理员IE11升级指南【1】—— Internet Explorer 11增强保护模式 (EPM) 介绍
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 企业IT管理员IE11升级指南【2】—— Internet Explorer 11 对Adobe Flash的支持
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 企业IT管理员IE11升级指南【6】—— Internet Explorer 11面向IT专业人员的常见问题
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 解决安装失败的 Internet Explorer 11
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成.微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章.然而由机器翻译的文章并不总是完美的.它 ...
- win10 Internet Explorer 11 停止工作处理
win10 Internet Explorer 11 停止工作处理:
- 下载 Internet Explorer 11(脱机安装程序)
https://support.microsoft.com/zh-cn/help/18520/download-internet-explorer-11-offline-installer 语言 本 ...
- 如何在 Internet Explorer 11中开启 WebGL
原文地址:http://www.hiwebgl.com/?p=1210 国外开发者Francois Remy在泄露版Windows Blue附带的Internet Explorer 11中发现,Web ...
随机推荐
- 目标检测--Spatial pyramid pooling in deep convolutional networks for visual recognition(PAMI, 2015)
Spatial pyramid pooling in deep convolutional networks for visual recognition 作者: Kaiming He, Xiangy ...
- oracle进阶之connect by笔记
本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处. http://www.cnblogs.com/king-xg/p/6794562.html 如果觉得对您有帮 ...
- java多线程快速入门(十三)
死锁产生的原因(必须有两个线程.必须有多个锁.锁之间必须有引用的过程) package com.cppdy; class MyThread9 implements Runnable { private ...
- 《MATLAB Deep Learning:With Machine Learning,Neural Networks and Artificial Intelligence》选记
一.Training of a Single-Layer Neural Network 1 Delta Rule Consider a single-layer neural network, as ...
- CSS----布局注意事项
1.当div标签中含有子标签,如果div标签的大小是被div中的子标签撑起来的,那么可能布局(之后)可能就会出现问题(if 父级div中没有border,padding,inlinecontent,子 ...
- Codeforces 407B Long Path(好题 DP+思维)
题目链接:http://codeforces.com/problemset/problem/407/B 题目大意:一共n+1个房间,一个人从1走到n+1,每次经过房间都会留下一个标记,每个房间有两扇门 ...
- hdu1069线性dp
/* dp[i]:取第i个方块时最多可以累多高 */ #include<bits/stdc++.h> using namespace std; struct node{ int x,y,z ...
- poj2828 伸展树模拟
用伸展树模拟插队比线段树快乐3倍.. 但是pojT了.别的oj可以过,直接贴代码. 每次更新时,找到第pos个人,splay到根,然后作为新root的左子树即可 #include<iostrea ...
- python实现的椭圆曲线加密
我也看得云里雾里, 但是ECC和RSA并列为非对称加密双雄, 还是很有必要了解一下的. RSA是用质数分解,ECC是用离散的椭圆方程解,安全度更高. 而且,这个ECC的加法乘法规则,和普通都不一样, ...
- GItlab作CI/CD时,想快点,有啥招?
如果希望.m2文件有存缓,或是不要每次从dockerhub上找镜像(有的是本地镜像,远程没有的) 那么,gitlab-runner的config.toml初步优化文件如下: concurrent = ...