HTML 5浏览器兼容性图表 - 旧浏览器中的HTML 5?

时间:2010-02-12 02:17:35

标签: html5 compatibility custom-data-attribute layout-engine

我刚开始考虑将HTML 5 api用于Rails / JQuery项目,因此我可以使用那个很棒的data- attribute来存储值。

我担心浏览器兼容性问题。我有两个问题(基本问题):

  1. 为了使用HTML 5,人们是否需要升级他们的浏览器?这有什么作用?

  2. 是否有最新的图表显示每个浏览器布局引擎支持哪些功能,哪个是最新的Wikipedia article on comparing HTML layout engines和此When can I use... HTML 5页面?

  3. 例如,使用IE6的人会遇到问题吗?很多非电脑的saavy人我曾经和他们谈过想要上网的人,而他们说话的人仍然使用,IE6!

    如果这不是问题,并且您可以在旧浏览器上使用HTML 5,那么您如何?或者我应该看看哪些文档:)?感谢。

    更新:我会在下面找到一些有趣的链接。

    FindMeByIP:“一个简单的应用程序,使用Modernizr以易于阅读的格式显示您的浏览器对CSS3和HTML5功能的支持。” - Browser Support for CSS3 and HTML5

6 个答案:

答案 0 :(得分:12)

将HTML5视为单个实体,浏览器“支持”或“不支持”是没有用的。 HTML5是:

  • 试图将广泛存在的现有做法编入超出之前W3 HTML和DOM标准所涵盖的范围,例如其他浏览器复制的IE和Firefox扩展,以及长期存在的“DOM Level 0”每个人都认为理所当然但以前没有写入任何规范的行为。

  • 随机选择尚未广泛使用的新扩展程序,希望浏览器制造商能够支持。有些已经成功,已经进入所有新的浏览器;有些已被分解成他们自己的规格(这对每个人来说都更容易管理),有些是有争议的,有些人根本不关心。

IMO认为,试图同时覆盖这两个基地是一个巨大的错误。我更喜欢HTML 3.2风格的“追赶”标准以及许多单独的扩展规范。但是现在没有什么可以做的。

HTML5也是:

  • 未完成。规范是庞大的,复杂的,不完整的,并且在它成为适当的标准之前可能会在细节上(或者可能更多)发生变化。没有人可以说他们“支持HTML5”,因为没有人知道“HTML5”实际上会是什么。

实际上:HTML5的某些部分长期以来一直在使用。有些部分可以在现代浏览器上安全使用。除IE之外,您可以在新浏览器上使用某些部分。您可以使用许多部分使用后备解决方法或“优雅降级”。您可能永远无法使用某些部件。现在你必须分别学习每一个,因为在很多年里不会有HTML5中完全支持所有内容的浏览器。如果曾经。随着时间的推移逐渐添加您喜欢的额外功能,并且它们得到更多浏览器的支持;没有“大爆炸”,每个人都会立即更新浏览器。

对于data-属性,嗯,是的,你可以放弃使用它们,因为大多数浏览器总是允许任何旧属性通过。这是几种HTML5扩展的典型特征,浏览器不需要明确地“支持”它以使其工作。

但是由于还有其他传递数据的方式(类,注释,脚本块等),我并不完全相信它值得放弃(普遍支持,可以针对固定标准进行验证)HTML4 / XHTML1页面就是为了这个还有一个功能。

答案 1 :(得分:10)

您可能需要查看diveintohtml5.ep.iomodernizr.com

  

Modernizr是一个小而简单的JavaScript库,可帮助您利用新兴的Web技术(CSS3,HTML 5),同时仍然保持对可能尚不支持这些新技术的旧浏览器的良好控制。


这是html功能支持的交互式图表: http://a.deveria.com/caniuse/

正如您所看到的,有很多浏览器支持相当多的H5功能。

答案 2 :(得分:5)

如果您正在使用jQuery,关注互操作性,并且您调查HTML5的唯一原因是使用data-*属性集,那么我会考虑切换回更好支持的doctype并使用jQuery的$().data()方法,允许您将任意数据绑定到DOM节点,类似于data-属性集的方式。

示例:

<button id="set">Click me!</button>

$('button#set').click(function(){
    if($(this).data('name')){
        alert('Clickin\' again so soon, ' + $(this).data('name') + '?');
    }else{
        $(this).data('name', prompt('Hey good lookin\', what\'s your name?', ''));
    }
});

Try it out

答案 3 :(得分:0)

我的回答可能不是你想要的,但我会说 - 不要。暂时不要使用HTML 5。

答案 4 :(得分:0)

使用Protovis。它使用javascript和HMTL5。这里没有Flash。更重要的是,Protovis拥有BSD许可证。所以你可以在商业项目中使用它。虽然D3是Protovis作者正在开展的一个较新的项目。

答案 5 :(得分:0)

虽然这是一个古老的问题,但浏览器支持的主题始终是相关的。没有正确的方法或错误的方法来处理它,但是看看许多浏览器功能支持表中的一个,它显示了用户将看到某个功能的百分比然后是残酷的。

不要试图取悦所有人。不要为了抓住仍在使用IE7的Luddite的百分之几而自杀。明年,替代IE8。就个人而言,我很乐意失去8%,以便将这段时间花在前瞻性思维实践上,而不是为那些不知道升级是什么的人提供服务。

也许您的网站会让人们升级。这些人最终会到来。