如何通过JavaScript获取Chrome已启用扩展及全部扩展列表?
获取Chrome扩展程序列表的可行方案
前提
只有Chrome扩展程序本身能够调用chrome.management API来获取扩展列表,普通网页受限于Chrome的安全策略,无法直接访问这类浏览器内部信息。
1. 获取全部扩展程序列表
首先需要在你的扩展manifest.json中声明management权限:
{ "manifest_version": 3, "name": "你的扩展名称", "version": "1.0", "permissions": ["management"] }
之后在扩展的JavaScript文件中调用API获取全部扩展:
chrome.management.getAll((extensions) => { // extensions是包含所有扩展的数组,每个元素包含id、name、enabled、version等属性 console.log("全部扩展列表:", extensions); });
2. 获取已启用的扩展程序列表
在获取全部扩展的基础上,过滤出enabled属性为true的项即可:
chrome.management.getAll((extensions) => { const enabledExtensions = extensions.filter(ext => ext.enabled); console.log("已启用的扩展列表:", enabledExtensions); });
额外提示
- 可以通过
chrome.management.onEnabled和chrome.management.onDisabled监听扩展状态变化,实现列表的实时更新。 - 用户安装扩展时,会看到授权提示,需要同意授予管理扩展的权限才能正常使用该功能。
内容的提问来源于stack exchange,提问作者Ayyanar Kaliyappan
相关产品推荐
相关产品推荐

