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

时间:2016-05-16 21:06:57

标签: api browser-extension

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

例如,我使用以下内容检查是否刚刚安装了扩展程序:

chrome.runtime.onInstalled

我假设Edge会是这样的:

edge.runtime.onInstalled

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

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

还是有其他解决方案吗?

请原谅我,这是我第一次进入构建扩展/应用程序,我通常只是一名Web设计师。

谢谢!

1 个答案:

答案 0 :(得分:1)

所有浏览器都支持或

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