Google chrome extension 如何知道是否从应用商店下载了chrome扩展?

Google chrome extension 如何知道是否从应用商店下载了chrome扩展?,google-chrome-extension,firefox-addon-webextensions,opera-extension,microsoft-edge-extension,Google Chrome Extension,Firefox Addon Webextensions,Opera Extension,Microsoft Edge Extension,我开发了一个与Firefox/Edge/Opera兼容的chrome扩展 该扩展依赖于可通过web访问的RESTAPI。在web开发过程中,我更喜欢指向一个开发端点,在这个端点上,它不影响生产租户,只影响开发实例和数据库 我的问题很简单,我想做类似的伪代码: if (extension.downloaded_from_store == true) endpoint = "https://api-dev.example.com" else // The extension has

我开发了一个与Firefox/Edge/Opera兼容的chrome扩展

该扩展依赖于可通过web访问的RESTAPI。在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页面上做这样的事情吗


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

商店中的大多数google chrome扩展都有一个永久的扩展ID。如果您打包了扩展,使其在每次更新时使用相同的扩展ID,那么您只需硬编码该ID,并在该ID中进行检查即可

我建议多读一些关于


具体地说

商店中的大多数google chrome扩展都有一个永久的扩展ID。如果您打包了扩展,使它在每次更新时使用相同的扩展ID,那么您只需硬编码该ID,然后在该ID中检查它

我建议多读一些关于


具体而言

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

链接:

扩展安装类型

如何安装扩展。其中一项:

管理员:由于管理策略而安装了扩展 开发:扩展是在开发人员模式下加载和解包的 正常:扩展名是通过.crx文件正常安装的 sideload:扩展是由机器上的其他软件安装的 其他:扩展是通过其他方式安装的 枚举 管理、开发、正常、侧载或其他 这允许我执行以下操作:

chrome.management.get(chrome.runtime.id, function(app_info){
    if (app_info.installType == "development"){
        endpoint = "https://api-dev.example.com";
    }
    else {
        endpoint = "https://api-prod.example.com";
    }
});

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

链接:

扩展安装类型

如何安装扩展。其中一项:

管理员:由于管理策略而安装了扩展 开发:扩展是在开发人员模式下加载和解包的 正常:扩展名是通过.crx文件正常安装的 sideload:扩展是由机器上的其他软件安装的 其他:扩展是通过其他方式安装的 枚举 管理、开发、正常、侧载或其他 这允许我执行以下操作:

chrome.management.get(chrome.runtime.id, function(app_info){
    if (app_info.installType == "development"){
        endpoint = "https://api-dev.example.com";
    }
    else {
        endpoint = "https://api-prod.example.com";
    }
});

这可能是个主意。但是,我使用Chrome商店,所以我希望扩展是固定的,不会随着更新而改变。然后我需要了解如何对Firefox扩展、Opera和Edge进行同样的操作。这可能是一个好主意。但是,我使用Chrome商店,所以我希望扩展是固定的,不会随着更新而改变。然后我需要了解如何对Firefox扩展、Opera和Edge执行相同的操作。