Увеличиваем совместимость с WebRTC adapter.js
Несмотря на то, что WebRTC спецификация относительно стабильна, не все ещё браузеры полностью реализуют её функциональность. Некоторые реализации в браузерах все ещё содержат префиксы производителей в некоторых, или даже всех WebRTC интерфейсах, и разработчик может самостоятельно, в ручную, учесть вопросы несовместимости в своём коде. Но есть более простой выход. Организация WebRTC предлагает библиотеку adapter.js для обработки вопросов несовместимостей в различных браузерных реализациях WebRTC. Эта библиотека является JavaScript клином, позволяющим писать код в соответствии со спецификацией, чтобы он работал во всех браузерах с различным уровнем поддержки WebRTC. С ней нет необходимости условно использовать префиксные интерфейсы или реализовывать обходные пути
Примечание: Поскольку функциональность и названия API-терминов в WebRTC и поддерживаемых браузерах постоянно изменяются, обычно рекомендуется использовать этот адаптер.
Адаптер предоставляется по лицензии BSD-style license.
Как работает adapter.js
Для каждой версии браузера, поддерживающего WebRTC, adapter.js
реализует необходимые полизаполнители, устанавливает имена API без префиксов и применяет любые другие изменения, необходимые для того, чтобы браузер выполнял код, в соответствии со спецификацией WebRTC.
Например, в версиях Firefox старше 38 адаптер добавляет свойство RTCPeerConnection.urls
; Firefox изначально не поддерживает это свойство до Firefox 38, а в Chrome адаптер добавляет поддержку API Promise
, если он отсутствует. Это всего лишь пара примеров. Вот в кратце, какие корректировки производит библиотека.
В настоящее время адаптер WebRTC поддерживает Mozilla Firefox, Google Chrome, Apple Safari и Microsoft Edge.
Использование adapter.js
Для того чтобы использовать adapter.js
, вам нужно включить adapter.js
в любую страницу, которая использует API WebRTC:
- Скопируйте последнюю версию adapter.js с GitHub.
- Поместите копию в структурную директорию вашего сайта (к примеру, в корневую директорию скриптов).
- Поместите элемент скрипта со ссылкой на библиотеку
adapter.js
в ваш проект:<script src="adapter.js"></script>
- При кодировании, используйте интерфейсы WebRTC как указано в спецификации (без всяких префиксов производителей) , будучи уверенным, что он будет работать во всех браузерах .
- Помните, что даже присутствие хорошего клина, не означает отмену тестирования вашего кода на различных браузерах (а идеально, и в различных версиях каждого браузера).