aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/webrtc_api/adapter.js/index.html
blob: cc58bc6284e54a7b38d6cb1ba4ffc5902a8cda79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
---
title: Увеличиваем совместимость с WebRTC adapter.js
slug: Web/API/WebRTC_API/adapter.js
tags:
  - adapter.js
translation_of: Web/API/WebRTC_API/adapter.js
---
<p>{{WebRTCSidebar}}</p>

<p>Несмотря на то, что WebRTC <a href="http://www.w3.org/TR/webrtc/">спецификация</a> относительно стабильна, не все ещё браузеры полностью реализуют её функциональность. Некоторые реализации в браузерах все ещё содержат префиксы производителей в некоторых, или даже всех WebRTC интерфейсах, и разработчик может самостоятельно, в ручную, учесть вопросы несовместимости в своём коде. Но есть более простой выход. Организация <span class="seoSummary">WebRTC</span> <span class="seoSummary"><a href="https://github.com/webrtc/adapter/">предлагает библиотеку adapter.js</a> для обработки вопросов несовместимостей в различных браузерных реализациях WebRTC. Эта библиотека является JavaScript клином, позволяющим писать код в соответствии со спецификацией, чтобы он работал во всех браузерах с различным уровнем поддержки WebRTC. С ней нет необходимости условно использовать префиксные интерфейсы или реализовывать обходные пути</span></p>

<div class="note">
<p><strong>Примечание :</strong> Поскольку функциональность и названия API-терминов в WebRTC и поддерживаемых браузерах постоянно изменяются, обычно рекомендуется использовать этот адаптер.</p>
</div>

<p>Адаптер предоставляется по лицензии <a href="https://github.com/webrtc/adapter/blob/master/LICENSE.md">BSD-style license</a>.</p>

<h2 id="Как_работает_adapter.js">Как работает adapter.js</h2>

<p>Для каждой версии  браузера, поддерживающего WebRTC, <code>adapter.js</code> реализует необходимые полизаполнители, устанавливает имена API без префиксов и применяет любые другие изменения, необходимые для того, чтобы браузер выполнял код, в соответствии со спецификацией WebRTC.</p>

<p>Например, в версиях Firefox старше 38 адаптер добавляет свойство {{domxref ("RTCPeerConnection.urls")}}; Firefox изначально не поддерживает это свойство до Firefox 38, а в Chrome адаптер добавляет поддержку API {{jsxref ("Promise")}}, если он отсутствует. Это всего лишь пара примеров. Вот в кратце, какие корректировки производит библиотека.</p>

<p>В настоящее время адаптер WebRTC поддерживает Mozilla Firefox, Google Chrome, Apple Safari и Microsoft Edge.</p>

<h2 id="Использование_adapter.js">Использование adapter.js</h2>

<p>Для того чтобы использовать <code>adapter.js</code>, вам нужно включить <code>adapter.js</code> в любую страницу, которая использует API WebRTC:</p>

<ol>
 <li>Скопируйте  <a href="https://github.com/webrtc/adapter/tree/master/release">последнюю версию adapter.js</a> с GitHub.</li>
 <li>Поместите копию в структурную директорию вашего сайта (к примеру, в корневую директорию скриптов).</li>
 <li>Поместите элемент скрипта со ссылкой на библиотеку <code>adapter.js</code> в ваш проект: <code>&lt;script src="adapter.js"&gt;&lt;/script&gt;</code></li>
 <li>При кодировании, используйте интерфейсы WebRTC как указано в спецификации (без всяких префиксов производителей) , будучи уверенным, что он будет работать во всех браузерах .</li>
 <li>Помните, что даже присутствие хорошего клина, не означает отмену тестирования вашего кода на различных браузерах (а идеально, и в различных версиях каждого браузера).</li>
</ol>

<h2 id="Смотрите_также">Смотрите также</h2>

<ul>
 <li><a href="https://github.com/webrtc/adapter">Проект  WebRTC adapter.js на GitHub</a></li>
</ul>