我正在为Chrome开发一个扩展程序,但我希望我的扩展程序只有在禁用/删除其他扩展程序时才能正常工作。
这意味着当我的用户安装我的扩展程序时,我想告诉他们“如果您安装我的扩展程序,则必须接受禁用此其他扩展程序”。
如果另一个分机处于活动状态,我不希望我的分机正常工作。
你知道我该怎么办吗?
答案 0 :(得分:2)
检测是否安装了其他扩展程序:
1)更新manifest.json
以包含必要的management
权限:
{
"name": "My extension",
...
"permissions": [
"management"
],
...
}
2)检查扩展是否已安装2个选项:
a)如果您知道扩展程序ID,请使用chrome.management.get(extensionId, function callback)方法:
var extensionId = '<the_extension_id>';
chrome.management.get(extensionId, function(extensionInfo) {
var isInstalled;
if (chrome.runtime.lastError) {
//When the extension does not exist, an error is generated
isInstalled = false;
} else {
//The extension is installed. Use "extensionInfo" to get more details
isInstalled = true;
}
});
b)如果你知道扩展名(或任何其他参数),你可以使用chrome.management.getAll(function callback):
var extensionName = '<the_extension_name>';
chrome.management.getAll(function(extensions) {
var isInstalled = extensions.some(function(extensionInfo) {
return extensionInfo.name === extensionName;
});
});