有没有办法检测浏览器和服务器端对HTML5的支持,并提供不同的标记?
我正在制作一个移动网站,我想给智能手机用户和功能手机用户提供不同的用户体验。
但我不想在JavaScript中做任何事情,也不想在功能手机上使用JavaScript,因为他们对JavaScript没有很好的支持。
我在智能手机上使用了一些CSS3效果,这些效果在功能手机上会很好地降级。
主要的问题是HTML5,如果我使用任何HTML5标签,它将在所有支持HTML5的浏览器上工作,我将为HTML5标签编写CSS,但布局将被干扰在没有HTML5支持的浏览器的手机上。
如何在老的移动浏览器上像CSS一样很好地降级HTML5,因为它几乎不支持javascript?
在桌面网站中,我们可以使用Javascript HTML Shiv、Modernizer等在不支持的浏览器上使用HTML5。但是在移动设备上,旧的浏览器对JavaScript的支持不是很好,甚至JavaScript都会降低网站的性能,加载速度也会变慢,因为智能手机有3G连接,而旧的手机没有。
我可以为支持HTML5的浏览器提供不同的HTML文件,但是怎么做呢?
发布于 2011-05-12 16:43:00
你可以检测浏览器,并在此基础上找出它是否支持html5,例如,你可以检测浏览器是否支持IE9,如果它的IE9支持html5
或者你也可以这样做,下面的http://geekswithblogs.net/ranganh/archive/2011/03/26/html5-development-with-visual-studio-2010-service-pack-1.aspx摘录自博客
在浏览器中测试功能是安全的,而不是简单的浏览器检测和渲染。考虑到不同版本的浏览器支持不同级别的HTML5/JavaScript,这一点尤其重要,仅基于浏览器版本限制功能将错过浏览器实际支持的内容。
下面是用于检查浏览器视频播放能力的代码片段
Video Codec Detection <script type="text/javascript">
var player = document.getElementById('myVideo');
alert("Is <video> supported? " +
(player.canPlayType != null));
if (player.canPlayType) {
alert("Is an unknown format supported? " +
player.canPlayType('NoWay/VidXF'));
alert("Is mp4 supported? " +
player.canPlayType('video/mp4'));
alert("Is H.264 Baseline supported? " +
player.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'));
}
</script> https://stackoverflow.com/questions/5974826
复制相似问题