11

我刚刚开始考虑在 Rails/JQuery 项目中使用 HTML 5 api,所以我可以使用这个很棒的data-属性来存储值。

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

  1. 为了使用 HTML 5,人们需要升级他们的浏览器吗?这是如何运作的?

  2. 是否有每个浏览器布局引擎支持哪些功能的最新图表,比这篇关于比较 HTML 布局引擎的 Wikipedia 文章我什么时候可以使用... HTML 5页面更新?

例如,使用 IE6 的人会不会有问题?与我交谈过的许多非计算机精通的人想要自己使用互联网,而他们交谈的人仍然使用 IE6!

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

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

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

4

6 回答 6

12

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

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

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

IMO 试图同时覆盖这两个基地是一个巨大的错误。我会更喜欢 HTML 3.2 风格的“追赶”标准以及许多单独的扩展规范。但现在对此无能为力。

HTML5 也是:

  • 还没完。该规范是庞大的、复杂的、不完整的,并且在成为适当的标准之前可能会在细节上发生变化(或者可能不止于此)。没有人能说他们“支持 HTML5”,因为没有人知道“HTML5”到底会是什么。

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

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

但由于还有其他传递数据的方式(类、注释、脚本块等),我并不完全相信它值得放弃(普遍支持,可根据固定标准验证)HTML4/XHTML1 页面仅用于该功能.

于 2010-02-12T02:42:38.407 回答
10

您可能想查看diveintohtml5.ep.iomodernizr.com

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


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

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

于 2010-02-12T02:20:54.717 回答
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?', ''));
    }
});

试试看

于 2010-02-12T03:56:56.067 回答
0

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

于 2010-02-12T02:27:02.783 回答
0

使用Protovis。它使用 javascript 和 HMTL5。这里没有闪光灯。更重要的是,Protovis 拥有 BSD 许可证。所以你可以在商业项目中使用它。尽管D3是 Protovis 的作者正在研究的一个较新的项目。

于 2011-08-04T09:06:37.953 回答
0

尽管这是一个古老的(ish)问题,但浏览器支持的主题始终是相关的。没有正确的方法或错误的方法来处理它,但请查看众多浏览器功能支持表中的一个,该表向您显示有多少百分比的用户会看到某个功能,然后是残酷的。

不要试图取悦所有人。不要为了抓住仍然在使用 IE7 的 Luddite 的一小部分而自杀。明年,用它代替 IE8。就个人而言,我很乐意损失 8%,以便将时间花在前瞻性思维实践上,而不是迎合那些不知道升级是什么的人。

也许您的网站会导致人们升级。这些人最终会回来的。

于 2012-11-05T18:27:06.060 回答