37556


[2 つめの WebExtension - Mozilla | MDN](https://developer.mozilla.org/ja/Add-
ons/WebExtensions/Walkthrough#choose_beast.js)の`choose_beast.js`のコード中で`chrome`となっている部分が、[英語版](https://developer.mozilla.org/en-
US/Add-
ons/WebExtensions/Your_second_WebExtension#choose_beast.js)では`browser`となっています。どちらも同じように動作するようですが、これら2つの違いは何なのでしょうか？


CC BY-SA 3.0
2017-08-27T07:27:19.307
37523
2017-08-29T03:40:28.317
13199
question
javascript firefox-webextension
'browser'と'chrome'の違いは何ですか？


どちらもJavaScript APIの名前空間ですが、`chrome`はGoogle
Chrome向けに作られた拡張機能の移植のために用意されています。より具体的には、`browser`では非同期処理のために`Promise`及びコールバックベースのAPIが利用できますが、`chrome`ではコールバックベースのAPIしか利用できないという違いがあります。

ちなみにGoogle
Chromeでは`chrome`を、Edgeでは`browser`を使いますが、どちらもコールバックのみで`Promise`はサポートされていません。

参考：  
Google Chrome: [JavaScript APIs - Google
Chrome](https://developer.chrome.com/apps/api_index)  
Microsoft Edge: [Extensions - Supported APIs - Microsoft Edge Development |
Microsoft Docs](https://docs.microsoft.com/en-us/microsoft-
edge/extensions/api-support/supported-apis)  
Mozilla Firefox: [JavaScript APIs - Mozilla |
MDN](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API)


CC BY-SA 3.0
2017-08-29T03:40:28.317
37556
2017-08-29T03:40:28.317
13199
37523
answer