我需要使用Ruby制作if
语句,该语句用于检查客户端的浏览器是否支持HTML5。如何检查浏览器是否支持使用Ruby的HTML5和CSS3功能?
4
A
回答
9
简版:你将无法也不应该。
长版本:如果您执行一些用户代理嗅探,可能有可能确定用户的浏览器是否支持HTML5。但是,这需要花费相当多的努力才能获得正确的结果。更好的解决方案是使用像Modernizr(http://www.modernizr.com/)这样的功能在客户端进行功能检测。
1
可以根据HTTP_USER_AGENT
字符串读取浏览器信息,但是,如上所述以及其他许多地方,欺骗该信息也很容易。在服务器端,我们只关心它,因为它让我们可以全面了解用于访问我们网站的客户端浏览器。
尝试对后端的浏览器做出反应并呈现不同内容的网站已经尝试了一段时间,但由于浏览器如何欺骗其他浏览器,但没有相同的错误而失败。
正如@Stephen Orr所说,CSS是一种更好的处理方式。确定它很糟糕,仍然很容易出错,但它比嗅探浏览器的签名要好。我们过去常常诅咒IE的每一个版本,因为它打破了以前的修正。幸运的是,随着厂商逐渐走向标准,情况似乎越来越好。
1
可以在HTML5上做Feature detection,在您需要时从HTML5检测单个功能。然而,没有办法检测浏览器是否支持HTML5作为一个大块 - 因为没有“官方”方式来判断浏览器是否支持所有HTML5或仅支持HTML5的一部分。
1
大部分功能可以检测到(用JavaScript),但有些品种等形式的最新特征字段是一个问题:http://united-coders.com/matthias-reuter/user-agent-sniffing-is-back
0
< [html5 element] id="somethingtobedazzledby">
Upgrade your browser
</ [html5 element] >
相关问题
- 1. 如何检测浏览器是否支持此HTML5功能
- 2. 使用JavaScript检查浏览器是否支持css3和/或HTML5属性
- 3. 如何检测IE浏览器中的HTML5和CSS3支持?
- 4. 如何检查浏览器是否支持HTML5?
- 5. 如何检测浏览器是否支持CSS3模糊?
- 6. 检查浏览器是否支持HTML5时间选择器
- 7. 检查浏览器是否支持SVG
- 8. 检查浏览器是否支持MutationObserver
- 9. 如何使用JS/jQuery检查浏览器是否支持touchstart?
- 10. 如何检查用户的浏览器是否支持Google Caja?
- 11. 如何检查浏览器对功能/事件的支持?
- 12. 如何检测浏览器是否支持webkit浏览器?
- 13. 浏览器功能检测 - 是否支持Silverlight?
- 14. 检测浏览器与Modernizr支持css3
- 15. 使用不受支持的浏览器[HTML5/CSS3]
- 16. 如何检查浏览器是否支持JavaScript的svg?
- 17. 如何检查浏览器是否支持HTML5文件上传(FormData对象)?
- 18. 如何检查浏览器对HTML5表单属性的支持?
- 19. 检测浏览器是否支持jQueryMobile
- 20. 检测浏览器是否支持vbscript?
- 21. 确定手机浏览器是否支持CSS和JavaScript功能
- 22. 如何检查浏览器是否支持webanimation API?
- 23. 如何检查浏览器是否支持Facebook Javascript SDK
- 24. 如何检查浏览器是否支持HTML元素
- 25. 如何检查浏览器是否支持ajax?
- 26. 如何检查浏览器是否支持webkit目录?
- 27. 如何检查浏览器是否支持JavaScript,在javascript中?
- 28. 如何检查浏览器是否支持Flash?
- 29. 如何检查语音识别是否支持浏览器
- 30. 如何通过JavaScript检测浏览器是否支持CSS3媒体查询和CSS3渐变?
我添加了`css`标签。 – 2010-11-25 17:52:07
你检查了http://html5test.com/?他们做了非常全面的html功能支持检查。 – 2010-11-25 18:17:29
modernizr帮助您解决这个问题 – 2011-10-27 20:21:14