IE9对HTML5中一部分属性不提供支持的原因
为什么在IE9中对于HTML5标准中的离线应用程序以及CSS3中的一部分不提供支持?笔者间接了解到了这个原因。
微软日前已经发布了Internet Explorer 9(以下简称IE9)正式版。在该版本中,微软遵循他们的发展战略,对于作为最新Web标准的HTML5与CSS3中大多数功能提供了支持。
同时,微软也准备将IE9应用在Windows Phone 7中使用。IE9无疑成为了微软的Internet战略中非常重要的一个环节。
但是,现在公布的IE9中,应该被用来与Firefox,Safari,Chrome等浏览器相竞争的HTML5中的几个重大功能却没有得到支持。
现将W3C公布的HTML5以及与其相关的主要功能列举如下:
- 通信相关(Web Sockets, Server-Sent Events等等)
- CSS3样式
- 设备定位功能(取得地理位置信息等等)
- 3D以及画面显示效果(WebGL,CSS3的3D功能等等)
- 多媒体(Audio/Video等等)
- 性能及功能性的提高(Web Workers,XHR2等等)
- 语义性(Microdata微数据等等)
- 离线及本地存储(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中一部分属性不提供支持的原因的更多相关文章
- HTML5中meta属性大集合
1.声明文档的字符编码 <meta charset='utf-8'> 2.声明文档的兼容模式 <meta http-equiv="X-UA-Compatible" ...
- [转] HTML5中meta属性的使用详解
meta属性在HTML中占据了很重要的位置.如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等.虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能够熟 ...
- HTML5中meta属性
meta属性在HTML中占据了很重要的位置.如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等.虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能够熟 ...
- HTML5中meta属性的使用详解
meta属性在HTML中占据了很重要的位置.如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等.虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能够熟 ...
- 详解HTML5中rel属性的prefetch预加载功能使用
在HTML5中,有个很有用但常被忽略的特性,就是预先加载(prefetch),它的原理是: 利用浏览器的空闲时间去先下载用户指定需要的内容,然后缓存起来,这样用户下次加载时,就直接从缓存中取出来,效率 ...
- html5中contenteditable属性如果过滤标签,过滤富文本样式
在div中使用contenteditable=”true”可以达到模拟输入框的效果,但是当我们复制其他网页内容进去的时候,会发现连带的样式也一起复制进去了.很明显我们不需要复制富文本样式,那么如何 ...
- 使用html5中required属性
直接上代码 <form action="${pageContext.request.contextPath}/login/main.do" method="post ...
- 解决HTML5中placeholder属性兼容性的JQuery插件
//调用方法 $(function () { $(".pHolder").jason(); }); //HTML代码 <input type="text&quo ...
- html5中的选择器
1.html5中的属性选择器 <body> <style type=text/css> <!--1>完全匹配选择器--> [id=test]{ color:r ...
随机推荐
- JAVA 获取分行符
public static final String CR_LF = System.getProperty("os.name").startsWith("Windows& ...
- 数据预处理:规范化(Normalize)和二值化(Binarize)
注:本文是人工智能研究网的学习笔记 规范化(Normalization) Normalization: scaling individual to have unit norm 规范化是指,将单个的样 ...
- 【转】说下lua使用场景
[今日话题]说下lua使用场景 – flea 1. 我们有用,一些逻辑相对简单,没有复杂的数据交互,访问频次超高的接口实现,可以用lua,省得用phpfpm,太重,浪费资源. – 付坤 2. 也可 ...
- python数据库操作——sqlite3模块
# -*- coding: utf-8 -*- ''' Version : Python27 Author : Spring God Date : 2012-4-26 ''' import sqlit ...
- BZOJ 2342: [Shoi2011]双倍回文 马拉车算法/并查集
2342: [Shoi2011]双倍回文 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1123 Solved: 408 题目连接 http://w ...
- CF 277.5 A.SwapSort 水题
//STL教你做人系列 #include<stdio.h> #include<iostream> #include<math.h> #include<algo ...
- MC34063A development aid
http://www.nomad.ee/micros/mc34063a/index.shtml This is a simple-minded design tool that allows you ...
- 【《Objective-C基础教程 》笔记ch03】(四)OC中的OOP
一.声明类接口步骤: 1.声明一个类接口,使用@interfacekeyword加上类名称. 2.用 { 实例变量 } 来定义各种数据成员. 3.方法声明,採用中缀符语法声明一个c函数,用到了冒号 ...
- 5. python 文本解析
5. python 文本解析 这一章节我们简单的聊聊文本解析的两种方法: 1.分片,通过分片,记录偏移处,然后提取想要的字符串 例子: >>> line='aaa bbb ccc' ...
- 【spring cloud】在spring cloud服务中,打包ms-core失败,报错Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.4.RELEASE:repackage (default) on project
在spring cloud服务中,有一个ms-code项目,只为所有的微服务提供核心依赖和工具类,没有业务意义,作为核心依赖使用.所以没有main方法,没有启动类. 在spring cloud整体打包 ...