Ale*_*sky 22 google-chrome-extension
有没有办法检测我是否正在运行从我的.crx文件安装的扩展程序,或者通过"加载解压扩展..."按钮加载扩展名?
我知道在这种情况下ID差异,但我不想依赖代码中的硬编码字符串.
Kon*_*nel 29
如果"从我的.crx文件安装"是指从Chrome网上应用店安装,您只需检查属性manifest.json值的扩展名即可update_url.上传您的扩展程序后,CWS会添加它.
如果您有自托管.crx文件,请使用chrome.management.getSelf()并检查installType返回的ExtensionInfo对象获取扩展信息.如果它表示"development"这意味着扩展程序已在开发人员模式下解压缩."normal"表示它是从.crx文件安装的.
Dmi*_*dov 25
以下是如何执行此操作的代码示例:
function isDevMode() {
return !('update_url' in chrome.runtime.getManifest());
}
Run Code Online (Sandbox Code Playgroud)
当扩展在其清单中不包含该字段时,它正在开发人员模式下运行(即解压) 。update_url
这是可行的,因为解压扩展的 JSON 清单文件不应包含该update_url字段。通过 Chrome 开发者仪表板发布时会自动添加此字段。
例如,仅在开发期间出现的调试日志。
const IS_DEV_MODE = !('update_url' in chrome.runtime.getManifest());
function debugLog(str) {
if (IS_DEV_MODE) console.log(str);
}
debugLog('This only appears in developer mode');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3252 次 |
| 最近记录: |