如何通过OfficeJS API获取客户端已安装的Office加载项版本?
获取Office加载项版本的可行方案
目前Office JS没有专门用于直接读取加载项自身版本的官方API,也无法程序化获取“Security Info”中的内容(这类信息属于Office客户端安全范畴,未开放访问接口),但可以通过以下方式实现加载项版本的获取:
在清单中定义版本并自行读取
将版本号明确写在加载项的manifest.xml文件的<Version>节点中(例如<Version>2.1.3.0</Version>)。之后可以通过两种方式读取:- 构建阶段注入版本号:使用Webpack、Vite等构建工具的环境变量替换功能,把
package.json里的版本号同步到加载项脚本的全局变量中,运行时直接调用该变量即可。 - 运行时解析清单文件:如果加载项网页与清单文件同域,可通过
fetch请求获取manifest.xml,再用DOMParser解析XML内容提取版本号。示例代码:fetch('/manifest.xml') .then(response => response.text()) .then(xmlStr => { const parser = new DOMParser(); const xmlDoc = parser.parseFromString(xmlStr, 'application/xml'); const version = xmlDoc.querySelector('Version').textContent; console.log('加载项版本:', version); });
- 构建阶段注入版本号:使用Webpack、Vite等构建工具的环境变量替换功能,把
维护独立版本变量
在加载项核心脚本中直接定义版本变量(如const ADDIN_VERSION = "2.1.3.0"),每次更新版本时同步修改该变量,运行时直接引用即可。这种方式简单直接,适合小型加载项。
另外需要注意,Office.context.runtime.hostVersion可以获取Office客户端的版本号,但这并非加载项自身的版本,仅可作为辅助信息使用。
内容的提问来源于stack exchange,提问作者Minatee Pradhan
相关产品推荐
相关产品推荐

