HTML 5 浏览器兼容性图表 - 旧浏览器中的 HTML 5?
我刚刚开始考虑在 Rails/JQuery 项目中使用 HTML 5 api,因此我可以使用那个很棒的 data-
属性 用于存储值。
但我担心浏览器兼容性问题。我有两个问题(基本问题):
为了使用 HTML 5,人们需要升级浏览器吗?它是如何工作的?
是否有每个浏览器布局引擎支持哪些功能的最新图表,比这个更新关于比较 HTML 布局引擎的维基百科文章 和这个我什么时候可以使用... HTML 5 页面?
例如,对于使用 IE6 的人来说,这会是一个问题吗?我采访过的很多不懂电脑的人,他们想要自己上网,而他们交谈的人仍然使用 IE6!
如果这不是问题,并且您可以在旧浏览器上使用 HTML 5,您会怎么做?或者我应该看什么文档:)?谢谢。
更新:我将在下面发布一些有趣的链接。
FindMeByIP:“一个简单的应用程序,可以轻松地显示您的浏览器对 CSS3 和 HTML5 功能的支持使用 Modernizr 读取格式。” - 浏览器支持 CSS3 和 HTML5
I have just started considering using the HTML 5 api for a Rails/JQuery project, so I can use that great data-
attribute to store values.
I am worried though about browser compatibility issues. I have two questions (basic questions):
In order to use HTML 5, do people need to upgrade their browsers? How does that work?
Is there an up-to-the-day chart of what features each browser layout engine supports, more up-to-date than this Wikipedia article on comparing HTML layout engines and this When can I use... HTML 5 page?
Is it going to be an issue with people using IE6 for example? Lots of non-computer saavy people I've talked to who want to get an internet presence themselves use, and the people they talk to use, still, IE6!
If it's not an issue, and you can use HTML 5 on old browsers, how do you? Or what docs should I look at :)? Thanks.
Update: I will post some interesting links as I find them below.
FindMeByIP: "A simple app which reveals your browsers' support for CSS3 and HTML5 features in an easy to read format using Modernizr." - Browser Support for CSS3 and HTML5
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
将 HTML5 视为浏览器“支持”或“不支持”的单个实体是没有用的。 HTML5 是:
尝试将广泛存在的实践编纂成超出先前 W3 HTML 和 DOM 标准所涵盖范围的限制,例如其他浏览器复制的 IE 和 Firefox 扩展,以及长期存在的“DOM Level 0”每个人都认为理所当然但之前没有写入任何规范的行为。
随机选择尚未广泛使用的新扩展,希望浏览器制造商能够支持。有些已经取得了成功,已经进入了所有新的浏览器;有些已经被分拆成自己的规范(这对每个人来说都更易于管理),有些是有争议的,有些根本没有人关心。
在我看来,试图同时覆盖这两个基地是一个巨大的错误。我更喜欢 HTML 3.2 风格的“追赶”标准以及许多单独的扩展规范。但现在已经无能为力了。
HTML5 还:
实际上:HTML5 的某些部分已经被长期使用。您可以在现代浏览器上安全地使用某些部分。有些部分可以在除 IE 之外的新浏览器上使用。有许多部分可以与后备解决方法或“优雅降级”一起使用。有些部件您可能永远无法使用。现在,您必须分别学习每个内容,因为在很多年里都不会出现一款浏览器完全支持 HTML5 中的所有内容。如果有的话。随着您的使用逐渐添加您喜欢的额外功能,它们会得到更多浏览器的支持;不会出现每个人都同时更新浏览器的“大爆炸”。
至于
data-
属性,嗯,是的,你可以不用使用它们,因为大多数浏览器总是允许任何旧属性通过。这是几种 HTML5 扩展的典型特征,浏览器不需要明确“支持”它即可工作。但由于还有其他传递数据的方式(类、注释、脚本块等),我并不完全相信仅仅为了这一功能就值得放弃(普遍支持、可根据固定标准验证)HTML4/XHTML1 页面。
It is not useful to consider HTML5 as a single entity, that browsers either ‘support’ or ‘don't support’. HTML5 is:
an attempt to codify widespread existing practice beyond the limits of what the previous W3 HTML and DOM standards had covered, such as IE and Firefox extensions that the other browsers have copied, and long-standing ‘DOM Level 0’ behaviours that everyone took for granted but weren't written into any spec before.
a random selection of new extensions not yet in widespread use, which it is hoped browser manufacturers will support. Some have already succeeded, heading into all new browsers already; some have been spun off into their own specifications (which is much more manageable for everyone), some are controversial, and some no-one cares about at all.
It has been, IMO, an enormous mistake to try to cover these two bases at once. I would have preferred an HTML 3.2-style ‘catch-up’ standard plus many separate extension specifications. But there's nothing can be done about it now.
HTML5 is also:
In practical terms: there are some parts of HTML5 that have long been in use. There are some parts that you can use safely on modern browsers. There are some parts that you can use on new browsers except for IE. There are many parts you can use with fallback workarounds or ‘graceful degradation’. There are some parts you may never be able to use. For now you will have to learn each separately, because there won't be a browser that supports absolutely everything in HTML5 for many, many years. If ever. Add the extra features you like gradually as you go along and they're supported by a greater share of browsers; there will be no ‘big bang’ where everyone updates their browser at once.
As for
data-
attributes, well, yeah, you can kind of get away with using them, in that most browsers have always allowed any old attributes to go through anyway. This is typical of several HTML5 extensions, the browser doesn't need to explicitly ‘support’ it for it to work.But since there are other ways of passing data (classes, comments, script blocks, etc.), I'm not wholly convinced it's worth dropping (universally supported, validatable against a fixed standard) HTML4/XHTML1 pages just for that one feature yet.
您可能想查看 diveintohtml5.ep.io 和 modernizr.com。
这是 html 功能支持的交互式图表:
http://a.deveria.com/caniuse/
如您所见,有很多支持相当多 H5 功能的浏览器。
You might want to check out diveintohtml5.ep.io and modernizr.com.
Here's an interactive chart of html feature support:
http://a.deveria.com/caniuse/
As you can see, there are a lot of browsers that support quite a few of the H5 features.
如果您使用 jQuery,关心互操作性,并且您研究 HTML5 的唯一原因是使用
data-*
属性集,那么我会考虑切换回支持更好的 doctype 并使用 jQuery 的$().data()
方法,该方法允许您可以将任意数据片段绑定到 DOM 节点,类似于data-
属性集的作用。示例:
尝试一下!
If you're using jQuery, concerned about interoperability, and the only reason you're investigating HTML5 is to use the
data-*
attribute set, then I would consider switching back to a better-supported doctype and using jQuery's$().data()
method, which allows you to bind arbitrary pieces of data to DOM nodes, similar to how thedata-
attribute set does.Example:
Try it out!
我的答案可能不是你想要的,但我会说——不要。暂时不要使用 HTML 5。
My answer might not be the one you would like but I would say - don't. Don't use HTML 5 just yet.
使用 Protovis。它使用 javascript 和 HMTL5。这里没有闪光灯。更重要的是,Protovis 拥有 BSD 许可证。所以你可以在商业项目中使用它。尽管 D3 是 Protovis 的作者正在开发的一个较新的项目。
Use Protovis. It uses javascript and HMTL5. No Flash here. More important, Protovis has BSD license. So you can use it in commercial projects. Although D3 is the a newer project that authors of Protovis are working on.
尽管这是一个老问题,但浏览器支持的主题始终是相关的。处理这个问题没有正确或错误的方法,但请查看众多浏览器功能支持表之一,这些表显示有多少百分比的用户会看到某个功能,然后会变得残酷。
不要试图取悦所有人。不要为了抓住那一小部分仍在使用 IE7 的勒德分子而自杀。明年,它将取代 IE8。就我个人而言,我很乐意损失 8%,以便将时间花在前瞻性思维实践上,而不是迎合那些不知道什么是升级的人。
也许您的网站会导致人们升级。这些人最终都会回心转意。
Although this is an old(ish) question, the topic of browser support will always be relevant. There's no right way or wrong way to approach it, but take a look through one of the many browser feature support tables that show you what percentage of users will see a certain feature and then be brutal.
Don't try to please everyone. Don't kill yourself to catch a few percent of the Luddite's who are still using IE7. Next year, substitute that for IE8. Personally, I would be happy to lose 8% in order to spend that time on forward thinking practices rather than catering for those who don't know what an upgrade is.
Maybe your site will cause people to upgrade. These people will come round eventually.