HTML5画布&音频跨浏览器兼容性

时间:2011-06-21 03:01:03

标签: html5 audio canvas cross-browser compatibility

背景

我正在制作一个画布游戏,假定用户使用具有本机画布支持的浏览器(没有IE< 9脚本或类似的东西)。正在向用户显示一条消息,其中包含用于下载最新版本浏览器的链接(如果他们没有)。这通过< canvas>中的消息显示。内容如下:

    <canvas>
        Error message (upgrade... safer, faster, better... free...
                       ...play this awesome game... getfirefox.com)
    </canvas>

问题

假设任何支持&lt; canvas&gt;的浏览器是否安全tag还支持&lt; audio&gt;标签?或者我是否需要添加额外的错误消息,并有可能在彼此之上显示两条消息?我担心的是,如果他们没有音频的本机支持,他们的屏幕会混乱错误信息,但他们会为画布做。

据我所知,IE,Firefox,Chrome,Safari和Opera的所有最新版本都支持画布和音频,但我不确定移动浏览器和“中间版本”等。其他方法的想法也很受欢迎!

提前谢谢!

最好的问候,
安东

1 个答案:

答案 0 :(得分:2)

支持<canvas>但不支持<audio>的浏览器(根据When can I use...):

  • Safari 3.2
  • Opera Mini 5.0-6.0
  • Opera Mobile 10
  • Android Browser 2.1-2.2

替代方法

使用JavaScript检测功能:

  • <audio>return !!document.createElement('audio').canPlayType;
  • <canvas>return !!document.createElement('canvas').getContext;

并相应地显示消息。

有关完整列表,请参阅The All-In-One Almost-Alphabetical No-Bullshit Guide To Detecting Everything。如果您想要一个用于HTML5功能检测的一体化库,请尝试Modernizr