【问题标题】:HTML5 canvas & audio cross-browser compatibilityHTML5 画布和音频跨浏览器兼容性
【发布时间】:2011-09-19 04:17:06
【问题描述】:

背景

我正在制作一个画布游戏,它假设用户正在使用具有本机画布支持的浏览器(没有 IE 内容中的消息显示如下:

错误信息(升级...更安全、更快、更好...免费... ...玩这个很棒的游戏...getfirefox.com)

问题

是否可以假设任何支持 标签的浏览器也支持

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

提前谢谢你!

最好的问候,
安东

【问题讨论】:

    标签: html audio canvas cross-browser compatibility


    【解决方案1】:

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

    • Safari 3.2
    • Opera Mini 5.0-6.0
    • Opera Mobile 10
    • Android 浏览器 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

    【讨论】:

    • 哇,非常感谢!添加了 3 个很棒的书签。这似乎是一个非常小的问题。我想我会使用 JavaScript 来检测你所说的功能,如果有画布但没有音频,我可以为 Safari、Opera Mobile(根据 opera.com,Mini 仍然缺乏支持)和 Android 显示自定义消息。尽管我不喜欢制作特殊情况的解决方案,但我怀疑当前支持这两种元素的浏览器会停止支持其中一种。换句话说,可能不会有新的浏览器被添加到这个列表中。你认为这是安全的假设吗?再次感谢您!
    • 除非你的消息依赖于这些浏览器,你关心什么?这就是 JS 特征检测的重点,您担心的是 features 而不是 browsers。也就是说,这个假设的安全性取决于我何时可以使用...表格的准确/完整程度,您是否使用画布文本 API 以及您正在使用的音频格式(也可以检测到)。
    • 确实如此。我想盲目地相信他们不是一个好主意。就 API 和音频格式而言,我还不完全确定将在游戏中实现什么,所以我还不知道。我对浏览器的看法是,在我们的目标群体中,尚未升级浏览器以支持 HTML5 的人可能需要非常仔细的指导,只有 1 个他们可以轻松识别的可点击链接。否则,我的经验告诉我,他们中的许多人会放弃。无论如何,非常感谢您的回复,您确实帮助我走上了正轨!谢谢。
    猜你喜欢
    • 2012-04-18
    • 2015-08-10
    • 2013-04-19
    • 2013-04-23
    • 2011-06-18
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多