为什么在IE9中对于HTML5标准中的离线应用程序以及CSS3中的一部分不提供支持?笔者间接了解到了这个原因。

微软日前已经发布了Internet Explorer 9(以下简称IE9)正式版。在该版本中,微软遵循他们的发展战略,对于作为最新Web标准的HTML5与CSS3中大多数功能提供了支持。

同时,微软也准备将IE9应用在Windows Phone 7中使用。IE9无疑成为了微软的Internet战略中非常重要的一个环节。

但是,现在公布的IE9中,应该被用来与Firefox,Safari,Chrome等浏览器相竞争的HTML5中的几个重大功能却没有得到支持。

现将W3C公布的HTML5以及与其相关的主要功能列举如下:

  1. 通信相关(Web Sockets, Server-Sent Events等等)
  2. CSS3样式
  3. 设备定位功能(取得地理位置信息等等)
  4. 3D以及画面显示效果(WebGL,CSS3的3D功能等等)
  5. 多媒体(Audio/Video等等)
  6. 性能及功能性的提高(Web Workers,XHR2等等)
  7. 语义性(Microdata微数据等等)
  8. 离线及本地存储(App Cache,本地存储,IndexedDB等等)

在这之中,即使离线也可以使用Web网页,Web应用程序的功能,使用JavaScript也可以使用多线程的Web Workers,以及CSS3中的几个功能都没有在IE9中得到支持。

应该对于HTML5提供积极支持的微软,为什么没有在IE9中对这几个重要功能提供支持呢?如何这样的话在Windows Phone7中使用IE9又有什么必要呢?这个理由在微软的官方人士那里得到了回答。

提问:首先确认一个事实,IE9中对于HTML5的离线功能等等的确不提供支持吗?

官方回答:的确如此,大致上来说,关于离线功能,以及CSS3中的几个功能,在IE9中并不支持。

首先针对CSS3做一个说明,CSS的属性中的供应商前缀(为了在其他供应商所提供的浏览器中使用而在CSS的属性前增加的“-moz-”,“-webkit-”等等前缀。)在IE9中不提供支持。

在IE9中提倡“统一标记”,就是说同样的属性,标记应该在任何浏览器中的渲染效果应该都是同样的。也就是说为了在各供应商所提供的浏览器中使用而人为增加的各种前缀是不符合这个概念的,所以不提供支持。

还有一个问题就是关于离线应用。这是因为它的一个相关功能IndexedDB的实现方法也还没有被确定下来,所以与之密切相关的离线应用程序功能也暂时不被支持。

现在使用IE的有个人,开发者,企业等等各种客户。因此无论如何对于新的功能提供的支持必须要采取一种保守的做法。

现在我们所提供的支持都是非常安全稳定的,今后也将优先对那些在用户那里获得非常高的渴望度的功能进行支持。

不管什么功能一下子全部提供支持,或者说为了迎合企业用户而特意对某些功能提供支持的话,这种支持是十分不安全、不稳定的,所以我们不希望采取这种做法。

但是,对于IE功能的加强肯定不会停止在IE9这个版本上面,所以我们今后肯定还会对HTML5/CSS3继续提供新的支持。

提问:事实上在IE9中,作为HTML5主要功能之一的离线功能与WebWorker功能没有提供支持这件事是最近被民众所关注的一件事。在宣称对于HTML5提供支持的同时,不说清楚支持什么功能,不支持什么功能,这种宣传不是等于没有吗?

官方回答:并不是要特意隐瞒,应该是在忙于对于IE9这种新的浏览器做一个比较全面地介绍,而没有考虑到这个问题。当然,在对于各API各属性进行单独介绍的时候,肯定是有一个比较明确的说明的。

文章引用地址:http://www.iefans.net/ie9-html5-shuxing-buzhichi-yuanyin/ 作者:iefans

IE9对HTML5中一部分属性不提供支持的原因的更多相关文章

  1. HTML5中meta属性大集合

    1.声明文档的字符编码 <meta charset='utf-8'> 2.声明文档的兼容模式 <meta http-equiv="X-UA-Compatible" ...

  2. [转] HTML5中meta属性的使用详解

    meta属性在HTML中占据了很重要的位置.如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等.虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能够熟 ...

  3. HTML5中meta属性

    meta属性在HTML中占据了很重要的位置.如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等.虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能够熟 ...

  4. HTML5中meta属性的使用详解

    meta属性在HTML中占据了很重要的位置.如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等.虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能够熟 ...

  5. 详解HTML5中rel属性的prefetch预加载功能使用

    在HTML5中,有个很有用但常被忽略的特性,就是预先加载(prefetch),它的原理是: 利用浏览器的空闲时间去先下载用户指定需要的内容,然后缓存起来,这样用户下次加载时,就直接从缓存中取出来,效率 ...

  6. html5中contenteditable属性如果过滤标签,过滤富文本样式

    ​​在div中使用contenteditable=”true”可以达到模拟输入框的效果,但是当我们复制其他网页内容进去的时候,会发现连带的样式也一起复制进去了.很明显我们不需要复制富文本样式,那么如何 ...

  7. 使用html5中required属性

    直接上代码 <form action="${pageContext.request.contextPath}/login/main.do" method="post ...

  8. 解决HTML5中placeholder属性兼容性的JQuery插件

    //调用方法 $(function () {   $(".pHolder").jason(); }); //HTML代码 <input type="text&quo ...

  9. html5中的选择器

    1.html5中的属性选择器 <body> <style type=text/css> <!--1>完全匹配选择器--> [id=test]{ color:r ...

随机推荐

  1. CSUOJ 1271 Brackets Sequence 括号匹配

    Description ]. Output For each test case, print how many places there are, into which you insert a ' ...

  2. Java反射机制demo(三)—获取类中的构造函数

    Java反射机制demo(三)—获取类中的构造函数 1,获取类中所有的构造函数 如下面的代码中所示,这个类中显式的构造函数有五个. 空构造: public UserInfo() 带参构造有四个: pu ...

  3. tkinter-clock实例

    模仿着前辈的脚步,画了个临时的时钟显示: 代码如下: # coding:utf-8 from tkinter import * import math,time global List global ...

  4. MongoDB 进阶

    一.MongoDB 复制(副本集) MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性. 复制还允 ...

  5. GITC简单感触

    GITC短暂的2天,去参加主要是想参与其中,了解其他家的技术,技术使用, 那些大牛,及大牛公司,大牛团队的一些事. 早上的主会场主要是介绍和宣传.半小时后就出去逛逛外面的分会场: 参与听了下 智能硬件 ...

  6. Android之安全机制

    根据android四大框架来解说安全机制 代码安全 java不同于C/C++,java是解释性语言,存在代码被反编译的隐患: 默认混淆器为proguard,最新版本为4.7: proguard还可用来 ...

  7. hdu 5317 RGCDQ (2015多校第三场第2题)素数打表+前缀和相减求后缀(DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5317 题意:F(x) 表示x的不同质因子的个数结果是求L,R区间中最大的gcd( F(i) , F(j ...

  8. java的反射机制(第二篇)

    本文转载自:http://c.biancheng.net/cpp/html/1781.html 要理解RTTI在Java中的工作原理,首先必须知道类型信息在运行时是如何表示的,这项工作是由“Class ...

  9. Loj10164 数字游戏1

    题目描述 科协里最近很流行数字游戏.某人命名了一种不降数,这种数字必须满足从左到右各位数字成小于等于的关系,如 123,446.现在大家决定玩一个游戏,指定一个整数闭区间 [a,b][a,b][a,b ...

  10. 关于THINKPHP的addAll支持的最大数据量

    Thinkphp中的Model操作有两个方法:add()和addAll $User = M("User"); // 实例化User对象 $data['name'] = 'Think ...