wps加载项中ribbon.xml 加载机制

164 阅读1分钟

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. 调用关系

  1. WPS Office 应用程序 → 自动加载插件目录中的 ribbon.xml

  2. ribbon.xml 中的回调函数 → 指向 JavaScript 中的 ribbon 对象方法

  3. App.vue

   onMounted(() => {
     window.ribbon = ribbon
   })

   将 [ribbon.js] 模块挂载到全局 window.ribbon 对象上

  1. 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 会自动读取并在功能区显示相应的自定义选项卡和按钮。