使用chrome.*或浏览器的Firefox/Chrome/MS Edge扩展程序.*

Kni*_*shi 3 google-chrome-extension firefox-addon-webextensions microsoft-edge-extension

所以我找不到任何谈论使用chrome.*或浏览器.*具体.在某些WebExtension示例中,它使用浏览器.*(browser.runtime.getManifest();) https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/getManifest,而在其他示例中,它使用chrome.*(chrome.notifications.create),https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/notifications.

我不完全确定有什么区别.是上下文吗?chrome.*和browser.*都可以在我的内容脚本和Firefox的后台脚本中找到.我也查看了IE文档,他们使用浏览器.*(在他们的文档中没有看到chrome.*)

我想知道它们之间有什么区别,Chrome扩展程序只使用chrome.*还是有浏览器.*(IE只有浏览器.*)?

Dan*_*err 6

Chrome只有chrome.apis.Edge只有browser.apis.Firefox同时具有browser.apis和chrome.apis,可与现有的Chrome扩展程序兼容.

主要区别在于Firefox中的browser.apis使用promises但chrome.apis使用回调.

  • @KnightYoshi,如果您想要跨浏览器兼容性,请使用“chrome.*”,而不是“browser.*”。从“chrome.*”(回调)调用到其“browser.*”(Promise)等效项的填充相对容易。反过来就很难了,因为当你调用“browser.*” API 时,API 调用中不存在回调函数信息。另外,即使你不使用 polyfill,使用 `chrome.*` 也会为你提供 Chrome 和 Firefox。这两者一起为您提供了大部分市场(您可以填充其余部分)。 (2认同)