我刚开始考虑将HTML 5 api用于Rails / JQuery项目,因此我可以使用那个很棒的data-
attribute来存储值。
我担心浏览器兼容性问题。我有两个问题(基本问题):
为了使用HTML 5,人们是否需要升级他们的浏览器?这有什么作用?
是否有最新的图表显示每个浏览器布局引擎支持哪些功能,哪个是最新的Wikipedia article on comparing HTML layout engines和此When can I use... HTML 5页面?
例如,使用IE6的人会遇到问题吗?很多非电脑的saavy人我曾经和他们谈过想要上网的人,而他们说话的人仍然使用,IE6!
如果这不是问题,并且您可以在旧浏览器上使用HTML 5,那么您如何?或者我应该看看哪些文档:)?感谢。
更新:我会在下面找到一些有趣的链接。
FindMeByIP:“一个简单的应用程序,使用Modernizr以易于阅读的格式显示您的浏览器对CSS3和HTML5功能的支持。” - Browser Support for CSS3 and HTML5
答案 0 :(得分:12)
将HTML5视为单个实体,浏览器“支持”或“不支持”是没有用的。 HTML5是:
试图将广泛存在的现有做法编入超出之前W3 HTML和DOM标准所涵盖的范围,例如其他浏览器复制的IE和Firefox扩展,以及长期存在的“DOM Level 0”每个人都认为理所当然但以前没有写入任何规范的行为。
随机选择尚未广泛使用的新扩展程序,希望浏览器制造商能够支持。有些已经成功,已经进入所有新的浏览器;有些已被分解成他们自己的规格(这对每个人来说都更容易管理),有些是有争议的,有些人根本不关心。
IMO认为,试图同时覆盖这两个基地是一个巨大的错误。我更喜欢HTML 3.2风格的“追赶”标准以及许多单独的扩展规范。但是现在没有什么可以做的。
HTML5也是:
实际上:HTML5的某些部分长期以来一直在使用。有些部分可以在现代浏览器上安全使用。除IE之外,您可以在新浏览器上使用某些部分。您可以使用许多部分使用后备解决方法或“优雅降级”。您可能永远无法使用某些部件。现在你必须分别学习每一个,因为在很多年里不会有HTML5中完全支持所有内容的浏览器。如果曾经。随着时间的推移逐渐添加您喜欢的额外功能,并且它们得到更多浏览器的支持;没有“大爆炸”,每个人都会立即更新浏览器。
对于data-
属性,嗯,是的,你可以放弃使用它们,因为大多数浏览器总是允许任何旧属性通过。这是几种HTML5扩展的典型特征,浏览器不需要明确地“支持”它以使其工作。
但是由于还有其他传递数据的方式(类,注释,脚本块等),我并不完全相信它值得放弃(普遍支持,可以针对固定标准进行验证)HTML4 / XHTML1页面就是为了这个还有一个功能。
答案 1 :(得分:10)
您可能需要查看diveintohtml5.ep.io和modernizr.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?', ''));
}
});
答案 3 :(得分:0)
我的回答可能不是你想要的,但我会说 - 不要。暂时不要使用HTML 5。
答案 4 :(得分:0)
使用Protovis。它使用javascript和HMTL5。这里没有Flash。更重要的是,Protovis拥有BSD许可证。所以你可以在商业项目中使用它。虽然D3是Protovis作者正在开展的一个较新的项目。
答案 5 :(得分:0)
虽然这是一个古老的问题,但浏览器支持的主题始终是相关的。没有正确的方法或错误的方法来处理它,但是看看许多浏览器功能支持表中的一个,它显示了用户将看到某个功能的百分比然后是残酷的。
不要试图取悦所有人。不要为了抓住仍在使用IE7的Luddite的百分之几而自杀。明年,替代IE8。就个人而言,我很乐意失去8%,以便将这段时间花在前瞻性思维实践上,而不是为那些不知道升级是什么的人提供服务。
也许您的网站会让人们升级。这些人最终会到来。