From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../zh-cn/web/api/webrtc_api/adapter.js/index.html | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 files/zh-cn/web/api/webrtc_api/adapter.js/index.html (limited to 'files/zh-cn/web/api/webrtc_api/adapter.js') diff --git a/files/zh-cn/web/api/webrtc_api/adapter.js/index.html b/files/zh-cn/web/api/webrtc_api/adapter.js/index.html new file mode 100644 index 0000000000..f09f219b51 --- /dev/null +++ b/files/zh-cn/web/api/webrtc_api/adapter.js/index.html @@ -0,0 +1,40 @@ +--- +title: Improving compatibility using WebRTC adapter.js +slug: Web/API/WebRTC_API/adapter.js +translation_of: Web/API/WebRTC_API/adapter.js +--- +

{{WebRTCSidebar}}

+ +

虽然 WebRTC 规范已经相对健全稳固了,但是并不是所有的浏览器都实现了它所有的功能。除此之外。有些浏览器需要在一些或者所有的 WebRTC API上添加前缀才能正常使用。尽管你可以自己写代码解决这种问题,但是还有一个比较简单的方法。WebRTC 组织在github上提供了一个 WebRTC适配器(WebRTC adapter)来解决在不同浏览器上实现 WebRTC 的兼容性问题。这个适配器是一个JavaScript垫片,它可以让你根据 WebRTC 规范描述的那样去写代码,在所有支持 WebRTC的浏览器中不用去写前缀或者其他兼容性解决方法。

+ +
+

注意: 由于WebRTC和支持的浏览器中的API的功能和命名在不断变动,推荐使用这个适配器。

+
+ +

这个 adapter(适配器)是基于BSD开源协议的。

+ +

adapter.js 是干什么的

+ +

对于每个支持 WebRTC 的浏览器的各个版本,adapter.js添加必要的polyfills(填充),使用没有前缀的API,以及使用一些修改让浏览器可以运行根据 WebRTC 规范写的代码。

+ +

举个例子,在火狐浏览器版本号38之前,adapter 增加了{{domxref("RTCPeerConnection.urls")}}属性;火狐浏览器并不原生的支持这个属性直到38版本,然而在谷歌浏览器中如果API不支持{{jsxref("Promise")}} 就添加支持。这只是一些例子;当然还有其他措施来实现这种统一API。

+ +

WebRTC adapter现在支持火狐、谷歌、和Edge浏览器

+ +

使用adapter.js

+ +

要使用 adapter.js,你需要在使用 WebRTC APIs 的每个页面都引入 adapter.js :

+ +
    +
  1. 从GitHub上下载一个最新adapter.js的副本。
  2. +
  3. 在你的网站文件目录里添加这个文件(比如在放在scripts目录下)。
  4. +
  5. 在你的项目里包含这个文件:<script src="adapter.js"></script>
  6. +
  7. 写代码,按照 WebRTC APIs 规范去写,知道你的代码应该在所有浏览器上工作。
  8. +
  9. 注意,即使有一个像这样优秀的 adapter 并不意味着你不需要在不同的浏览器上测试代码(以及在同一个浏览器中的不同版本)。
  10. +
+ +

相关链接

+ + -- cgit v1.2.3-54-g00ecf