ribbon.xml 加载机制分析
这个 ribbon.xml 文件是 WPS Office 加载项的 Ribbon 界面定义文件,它不是通过传统网页方式加载的,而是由 WPS Office 应用程序调用的。
1. 加载流程
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="ribbon.OnAddinLoad">
-
WPS Office 应用程序启动并加载插件时,会自动读取插件目录下的
ribbon.xml文件 -
这是 WPS Office 插件机制的一部分,文件名必须为
ribbon.xml才能被识别 -
onLoad="ribbon.OnAddinLoad"指定当 Ribbon 加载完成时调用ribbon.OnAddinLoad方法
2. 调用关系
-
WPS Office 应用程序 → 自动加载插件目录中的
ribbon.xml -
ribbon.xml中的回调函数 → 指向 JavaScript 中的ribbon对象方法 -
在
App.vue中:
onMounted(() => {
window.ribbon = ribbon
})
将 [ribbon.js] 模块挂载到全局 window.ribbon 对象上
- WPS 通过全局
window.ribbon对象 → 调用定义在 XML 中的各种回调方法
3. 主要回调方法
-
ribbon.OnAddinLoad- Ribbon 加载时调用 -
ribbon.OnAction- 按钮点击时调用 -
ribbon.OnGetEnabled- 获取按钮启用状态 -
ribbon.GetImage- 获取按钮图标 -
ribbon.OnGetVisible- 获取按钮可见性 -
ribbon.OnGetLabel- 获取按钮标签文本
4. 总结
该页面(实际上是 Ribbon UI 定义)是由 WPS Office 应用程序本身自动加载和调用的,不是通过浏览器或其他网页组件加载。当用户在 WPS 中安装并启用这个插件后,WPS 会自动读取并在功能区显示相应的自定义选项卡和按钮。