为多平台应用程序使用多个 API

Working with multiple APIs for Multi-platform apps

我目前有一个使用 Chrome 的 API 的 Chrome 扩展,并计划在它打开后制作 Microsoft Edge 版本。我的问题是您如何使用多个 API?

例如,我使用以下方法检查扩展是否刚刚安装:

chrome.runtime.onInstalled

我假设 Edge 会是这样的:

edge.runtime.onInstalled

使用这两种方法的最佳方式是什么?我是否只是在文件中复制代码,其中有一个和另一个的代码副本,并且浏览器可能会忽略另一个浏览器的代码? (听起来不是个好选择)

或者是否有一些我应该改用的跨浏览器框架?

或者有其他解决办法吗?

还请见谅,我是第一次入行extensions/apps,我一般只是一个网页设计师

谢谢!

所有浏览器都支持或

chrome.runtime.onInstalled

browser.runtime.onInstalled

因此,正确的方法是使用以下代码在您的扩展程序中启动脚本:

var browser = browser || chrome

然后使用browser,例如:

browser.runtime.onInstalled

(对不起我的英语)

编辑:

Chrome 和 Opera 支持 chrome 而不是 browser

Firefox 支持 chromebrowser

边缘支持browser不知道是否支持chrome.

无论如何,我的解决方案适用于所有浏览器。

更新 (5.8.16):

边缘支持 browser 而不是 chrome