使用Yeoman和Node.js开发的Outlook自定义插件能否从任务窗格改为弹窗?
Outlook 自定义插件任务窗格转弹窗实现说明
完全可以将现有任务窗格形式调整为弹窗展示,Office 原生插件体系已经提供了对应的实现能力,不需要重构已有业务代码,调整步骤如下:
- 复用现有业务逻辑:原任务窗格中已经开发完成的功能代码、UI样式都可以直接复用,仅需将原任务窗格的入口页面调整为弹窗加载的目标页面即可。
- 配置插件清单权限:在插件的
manifest.xml文件中,将弹窗页面的部署域名添加到<AppDomains>节点下,避免Office的跨域安全规则拦截弹窗加载。 - 调用弹窗API触发展示:在功能区按钮点击事件或者原任务窗格的触发逻辑中,调用Office.js提供的弹窗API即可唤起弹窗,示例代码如下:
Office.context.ui.displayDialogAsync( 'https://你的插件部署域名/弹窗页面路径.html', { height: 60, // 弹窗高度为屏幕高度的60%,可自定义 width: 40, // 弹窗宽度为屏幕宽度的40%,可自定义 displayInIframe: true }, function(result) { if (result.status === Office.AsyncResultStatus.Succeeded) { const dialog = result.value // 可在此处绑定弹窗与父页面的消息通信监听 } } )
- 跨页面通信配置:如果需要弹窗和Outlook宿主、原有任务窗格做数据交互,可以在弹窗页面调用
Office.context.ui.messageParent()方法向父页面发送消息,父页面监听DialogMessageReceived事件即可接收消息完成交互。
内容的提问来源于stack exchange,提问作者xPatatas
相关产品推荐
相关产品推荐

