我的问题是,所有主要浏览器都支持HTML 5吗?
例如:
<li class="user" data-name="John Resig" data-city="Boston"
data-lang="js" data-food="Bacon">
<b>John says:</b> <span>Hello, how are you?</span>
</li>
<li class="user" data-name="John Resig" data-city="Boston"
data-lang="js" data-food="Bacon">
<b>John says:</b> <span>Hello, how are you?</span>
</li>
不同的浏览器支持HTML5的不同部分,对于“支持”的定义也不尽相同。
目前有几个部分在各种浏览器中都可以可靠地使用,如您在问题中提到的data-*属性,在每个浏览器中都可以正常工作,甚至包括IE6;然而,目前没有人支持使用有趣的"dataset"方法来访问它们。只要您愿意用完整的属性名称来获取它们,就可以了。我经常在我的Web应用程序中使用它们来存储状态,因为这是官方认可的做法。
维基百科对浏览器支持水平进行了很好的总结:http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML_5)
使用一些服务,例如http://caniuse.com/
例如,对于您的问题 - http://caniuse.com/dataset
正如您所看到的,所有现代浏览器都支持它
此外,您可以在代码中使用类似http://modernizr.com/的东西(它已经包含在http://html5boilerplate.com/中)
PS:刚刚注意到这个问题太旧了,但它与我之前检查过的某些其他问题相关联
HTML 5 的部分功能被 Safari、Firefox 和 Opera 支持,但它们并不一定包含相同的部分。
从我的经验来看,Firefox 是最先进的,但在大多数浏览器用户支持它之前还需要几年时间。
因此,在那之前,我们需要继续尝试在支持新功能的浏览器中使用它,并为尚未更新或继续使用 IE 的用户提供解决方案。
HTML5目前在任何浏览器上都没有完全支持,一些浏览器(特别是IE)目前也没有支持它的意图。
完全支持HTML 5还有一段时间,但是...
创建自定义属性并不是什么新鲜事,很可能在所有主流浏览器中都能正常工作-但是请测试以确保它在您的情况下能够正常工作。
我们现在可以使用HTML 5,只是不能使用其中的全部功能。 HTML 5的许多内容都是关于规范化当前使用的HTML方式并确保向后兼容性-因此,如果某个功能现在在浏览器中可用,请使用它。
几乎没有任何一种网络技术被任何浏览器完全支持;都存在着各种错误、怪癖或问题。
HTML5旨在向后兼容,它几乎不会破坏您的网站(例如,<input type=url>
- 不支持的浏览器显示普通文本框,Opera允许您从历史记录/书签中选择URL)。我的建议是:开发,尝试在需要支持的浏览器中测试 - 如果可以正常工作,那太棒了。如果不能,就不要使用它。就像其他规范一样。
不,还没有。至少要等到Gecko和Webkit支持它。
附注:如果您需要JavaScript目的,可以使用带有数据属性的HTML 5。或者选择一些其他未使用的属性(例如title、abbr等)。