如何在Chrome扩展程序代码中获取Extension ID?
获取Chrome扩展程序的Extension ID(本地调试与发布版通用)
不管是本地加载的临时ID还是Web Store发布后的固定ID,都可以通过Chrome扩展API直接获取,不同上下文的实现方式如下:
后台脚本/服务工作者(Manifest V2/V3)
直接调用chrome.runtime.id即可,这是最直接的方式:const extensionId = chrome.runtime.id; console.log('当前扩展ID:', extensionId);内容脚本
内容脚本属于扩展上下文的一部分,同样可以直接访问chrome.runtime.id:// 内容脚本中 const extensionId = chrome.runtime.id; // 可用于向后台发送消息等场景 chrome.runtime.sendMessage(extensionId, { action: 'test' }, (response) => { console.log(response); });弹出页面/扩展内其他页面
这类页面本身就在扩展的沙箱环境中,直接获取即可:// popup.js 或其他扩展页面脚本 document.addEventListener('DOMContentLoaded', () => { const extensionId = chrome.runtime.id; document.getElementById('id-display').textContent = `扩展ID: ${extensionId}`; });
额外提示
本地加载扩展时,Chrome会基于文件夹内容生成临时ID,每次修改扩展核心文件(如manifest.json)可能导致ID变化,用chrome.runtime.id能实时获取当前运行实例的ID,非常适合调试阶段的跨扩展通信、资源路径验证等场景。发布到Web Store后,该API会返回固定的官方ID,无需修改代码即可兼容两种环境。
内容的提问来源于stack exchange,提问作者SantK
相关产品推荐
相关产品推荐

