Кросс-браузерная совместимость с HTML5 canvas и audio - PullRequest
0 голосов
/ 21 июня 2011

Фон

Я делаю холст-игру, в которой предполагается, что пользователь использует браузер с собственной поддержкой canvas (без IE <9 сценариев или аналогичных сценариев).Пользователю показывают сообщение со ссылками, чтобы загрузить последнюю версию своего браузера, если у него его нет.Это отображается в сообщении в содержании <canvas>следующим образом:

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

Вопрос

Можно ли предположить, что любой браузер, поддерживающий тег также поддерживает тег ?Или мне нужно будет добавить дополнительное сообщение об ошибке с риском отображения двух сообщений друг над другом?Что меня беспокоит, так это то, что их экраны забиты сообщениями об ошибках на тот случай, если у них нет встроенной поддержки звука, но они поддерживают холст.

Я понимаю, что все последние версии IE, Firefox, Chrome, Safari и Opera поддерживают как canvas, так и аудио, но я не уверен насчет мобильных браузеров, промежуточных версий и тому подобного.Другие идеи подходов также приветствуются!

Заранее спасибо!

С уважением,
Антон

1 Ответ

2 голосов
/ 21 июня 2011

Браузеры, которые поддерживают <canvas>, но не <audio> (согласно Когда я могу использовать ... ):

  • 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;

И отображать сообщения соответственно.

См. Многофункциональное руководство по обнаружению всего для полного списка. Если вам нужна универсальная библиотека для обнаружения функций HTML5, попробуйте Modernizr .

...