--- 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开源协议的。
对于每个支持 WebRTC 的浏览器的各个版本,adapter.js添加必要的polyfills(填充),使用没有前缀的API,以及使用一些修改让浏览器可以运行根据 WebRTC 规范写的代码。
举个例子,在火狐浏览器版本号38之前,adapter 增加了{{domxref("RTCPeerConnection.urls")}}属性;火狐浏览器并不原生的支持这个属性直到38版本,然而在谷歌浏览器中如果API不支持{{jsxref("Promise")}} 就添加支持。这只是一些例子;当然还有其他措施来实现这种统一API。
WebRTC adapter现在支持火狐、谷歌、和Edge浏览器
要使用 adapter.js,你需要在使用 WebRTC APIs 的每个页面都引入 adapter.js :