WPS加载项结构
WPS加载项由自定义功能区和网页两部分组成。自定义功能区只需要一个配置文件,对应WPS加载项目录中的ribbon.xml文件;网页部分负责执行自定义功能区对应的逻辑功能。因为不需要显示网页,所以省略了HTML文件,并用main.js来引入所有的外部JavaScript文件;这些JavaScript文件中通常包含了一系列用JavaScript实现的函数,这些函数与自定义功能区的功能一一对应,我们称之为接口函数。
启动时文件加载过程
WPS在启动时加载index.html
,这是WPS加载项的入口文件。index.html从当前路径引入main.js
,main.js又引入了js文件夹里面的util.js
、ribbon.js
、systemdemo.js
等各种js文件,从而能够在接下来的过程中调用接口函数。当网页成功打开之后,开始解析ribbon.xml
生成自定义功能区,解析过程中会调用若干次接口函数,最终完成加载。
程序初始化之后,WPS自定义功能区会生成很多button按钮。其中,点击“弹对话框网页”会生成dialog.html
页面,引入dialog.js
。点击“弹任务窗格网页”会生成taskpane.html
,引入taskpane.js
。点击事件在ribbon.js
中定义。
注意,开发者应当避免在该目录下创建index.html
。
WPS加载项API使用
WPS加载项API通过对JavaScript功能进行的扩展,实现了网页与WPS应用程序交互的能力。这些API被集中在window.wps对象下,而我们在开发中通常会省略掉window,直接以wps开始。
开发加载项
在项目目录中,你可以看到一些基本的文件结构,包括images
、js
、ui
等目录,以及index.html
、main.js
、ribbon.xml
等文件。
编辑这些文件以实现你的功能需求。例如,你可以在index.html
中添加HTML代码,在main.js
中编写JavaScript逻辑。ribbon.xml
用于定义加载项在WPS中的菜单和按钮。
我们在WPS加载项概述里讲了三种交互方式,通过对这些文件的编辑,实现自己的业务逻辑。
自定义功能区:ribbon.xml
ribbon.js
展示WPS加载项自定义功能区(效率符号)的菜单和按钮。
对话框:dialog.html
dialog.js
展示WPS加载项自定义功能区的“弹对话框网页”按钮。
任务窗格:taskpane.html
taskpane.js
展示WPS加载项自定义功能区的“弹任务窗格网页”按钮。
调试
WPS加载项调试是对其中的一个网页单独进行的调试。调试时会弹出一个独立调试器对话框,除此之外和网页调试基本一致。可以在调试器的Console中直接查看任意的API属性和调用API方法。调试自动生成的index.html网页,使用快捷键ALT+F12。
注意调试过程中需要先关闭alert或其它同步弹框,才能继续向下调试。
系统集成
用户可以在自己的浏览器中调用WPS加载项的JavaScript方法。 wps_sdk.js对调用进行了封装,让开发者可以快速调用,wps_sdk.js对Chrome、Edge、IE8及IE8以上浏览器进行了支持。
发布部署
加载项开发完成后,很多开发者可能会有这样的一些问题:加载项如何部署呢、用户如何访问部署后的加载项呢、用户需要安装什么、用户是否需要去手动修改配置呢?
目前我们提供两种部署方式,jsplugins.xml模式和publish.xml模式,两种都不需要用户去手动配置什么,只需要本地安装好相应版本的WPS就行。