如何知道是否从商店下载了Chrome扩展程序?

时间:2017-09-11 20:20:52

标签: google-chrome-extension firefox-webextensions opera-extension microsoft-edge-extension

我开发了一个chrome扩展程序,它也兼容Firefox / Edge / Opera。

扩展程序依赖于可通过Web访问的REST API。在Web开发期间,我更喜欢指向一个开发端点,它不会影响生产租户,只会影响开发实例和数据库。

我的问题很简单,我想与这个伪代码类似:

if (extension.downloaded_from_store == true)
    endpoint = "https://api-dev.example.com"
else
    // The extension has been installed from a local directory
    endpoint = "https://api-prod.example.com"

你知道我怎么做这样的事情(最好是从background.js页面)?

如果解决方案可以与所有浏览器兼容,那将是完美的!

2 个答案:

答案 0 :(得分:2)

商店中的大多数Google Chrome扩展程序都有永久扩展ID。如果您打包扩展程序,以便它在每次更新时使用相同的扩展ID,那么您可以简单地对该ID进行硬编码并在其中首先检查它。

我建议您详细了解packaging chrome extensions here.

具体为this part.

答案 1 :(得分:2)

我在管理模块中的chrome文档中找到了答案:

链接:https://developer.chrome.com/extensions/management#type-ExtensionInstallType

<强> ExtensionInstallType

如何安装扩展程序。其中之一:

  • admin:由于管理策略而安装了扩展程序
  • 开发:扩展程序以开发人员模式
  • 解压缩
  • normal:扩展名通常是通过.crx文件安装的
  • sideload:扩展程序由机器上的其他软件安装
  • 其他:扩展程序是通过其他方式安装的 枚举 “admin”,“development”,“normal”,“sideload”或“other”

这允许我执行以下操作:

mv