从理论上讲,如果浏览器不支持 CSS3 或音频/视频标签等某些功能,您能否检测浏览器是否支持 HTML5,并提示访问者升级到 IE9/Firefox/Chrome/Safari/Opera?
我正在一个多为围墙的花园中开发一个爱好音乐网站,并希望防止使用过时浏览器的人访问/登录该网站。
大众吸引力不是必需的,因为该网站是针对利基市场并最大限度地利用 JavaScript 和 HTML5。
我建议使用modernizr javascript api 来检测您想要的HTML5 功能。
您可以使用条件注释向 IE 非浏览器显示警告:
<!--[if lt IE 9]> Get out of here! <![endif]-->
(您还可以包含<script>
重定向到升级页面的标签)
嗯,理论上,是的,你可以。然而,这真的很痛苦,而且根本不是万无一失的,因为它可能会依赖 javascript 来实现,这很容易被规避。
此外,在实践中,几乎任何用户代理参数都可以被欺骗,因此您真的不能依靠用户代理参数检测来确定用户代理是否真正支持特定标签。
在检测 HTML5 视频的情况下, Modernizr可能是一个很好的起点。